日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DB2和 Oracle的并发控制(锁)比较

發布時間:2023/12/20 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DB2和 Oracle的并发控制(锁)比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

牛新莊, IBM官方高級培訓講師

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0512niuxzh/

2005 年 12 月 26 日

在實際的生產運行環境中,筆者在國內很多客戶現場都看到開發人員和系統管理人員遇到很多有關于鎖而引起的性能問題,進而被多次問起DB2和Oracle中鎖的區別比較問題,筆者根據自己在工作中對DB2和Oracle數據庫的使用經驗積累寫下這篇文章。

1 引言

在關系數據庫(DB2,Oracle,Sybase,Informix和SQL Server)最小的恢復和交易單位為一個事務(Transactions),事務具有ACID(原子性,一致性,隔離性�

表是由行組成的,當我們向某個表加鎖時,一方面需要檢查該鎖的申請是否與原有的表級鎖相容;另一方面,還要檢查該鎖是否與表中的每一行上的鎖相容。比如一個事務要在一個表上加S鎖,如果表中的一行已被另外的事務加了X鎖,那么該鎖的申請也應被阻塞。如果表中的數據很多,逐行檢查鎖標志的開銷將很大,系統的性能將會受到影響。為了解決這個問題,可以在表級引入新的鎖類型來表示其所屬行的加鎖情況,這就引出了"意向鎖"的概念。

意向鎖的含義是如果對一個結點加意向鎖,則說明該結點的下層結點正在被加鎖;對任一結點加鎖時,必須先對它的上層結點加意向鎖。如:對表中的任一行加鎖時,必須先對它所在的表加意向鎖,然后再對該行加鎖。這樣一來,事務對表加鎖時,就不再需要檢查表中每行記錄的鎖標志位了,系統效率得以大大提高。

3.2.2 意向鎖的類型

由兩種基本的鎖類型(S鎖、X鎖),可以自然地派生出兩種意向鎖:

意向共享鎖(Intent Share Lock,簡稱IS鎖):如果要對一個數據庫對象加S鎖,首先要對其上級結點加IS鎖,表示它的后裔結點擬(意向)加S鎖;

意向排它鎖(Intent Exclusive Lock,簡稱IX鎖):如果要對一個數據庫對象加X鎖,首先要對其上級結點加IX鎖,表示它的后裔結點擬(意向)加X鎖。

另外,基本的鎖類型(S、X)與意向鎖類型(IS、IX)之間還可以組合出新的鎖類型,理論上可以組合出4種,即:S+IS,S+IX,X+IS,X+IX,但稍加分析不難看出,實際上只有S+IX有新的意義,其它三種組合都沒有使鎖的強度得到提高(即:S+IS=S,X+IS=X,X+IX=X,這里的"="指鎖的強度相同)。所謂鎖的強度是指對其它鎖的排斥程度。

這樣我們又可以引入一種新的鎖的類型:

共享意向排它鎖(Shared Intent Exclusive Lock,簡稱SIX鎖):如果對一個數據庫對象加SIX鎖,表示對它加S鎖,再加IX鎖,即SIX=S+IX。例如:事務對某個表加SIX鎖,則表示該事務要讀整個表(所以要對該表加S鎖),同時會更新個別行(所以要對該表加IX鎖)。

這樣數據庫對象上所加的鎖類型就可能有5種:即S、X、IS、IX、SIX。

具有意向鎖的多粒度封鎖方法中任意事務T要對一個數據庫對象加鎖,必須先對它的上層結點加意向鎖。申請封鎖時應按自上而下的次序進行;釋放封鎖時則應按自下而上的次序進行;具有意向鎖的多粒度封鎖方法提高了系統的并發度,減少了加鎖和解鎖的開銷。

3.3 Oracle的TM鎖(表級鎖)

Oracle的DML鎖(數據鎖)正是采用了上面提到的多粒度封鎖方法,其行級鎖雖然只有一種(即X鎖),但其TM鎖(表級鎖)類型共有5種,分別稱為共享鎖(S鎖)、排它鎖(X鎖)、行級共享鎖(RS鎖)、行級排它鎖(RX鎖)、共享行級排它鎖(SRX鎖),與上面提到的S、X、IS、IX、SIX相對應。需要注意的是,由于Oracle在行級只提供X鎖,所以與RS鎖(通過SELECT … FOR UPDATE語句獲得)對應的行級鎖也是X鎖(但是該行數據實際上還沒有被修改),這與理論上的IS鎖是有區別的。鎖的兼容性是指當一個應用程序在表(行)上加上某種鎖后,其他應用程序是否能夠在表(行)上加上相應的鎖,如果能夠加上,說明這兩種鎖是兼容的,否則說明這兩種鎖不兼容,不能對同一數據對象并發存取。

下表為Oracle數據庫TM鎖的兼容矩陣(Y=Yes,表示兼容的請求; N=No,表示不兼容的請求;-表示沒有加鎖請求):


表五:Oracle數據庫TM鎖的相容矩陣

一方面,當Oracle執行SELECT…FOR UPDATE、INSERT、UPDATE、DELETE等DML語句時,系統自動在所要操作的表上申請表級RS鎖(SELECT…FOR UPDATE)或RX鎖(INSERT、UPDATE、DELETE),當表級鎖獲得后,系統再自動申請TX鎖,并將實際鎖定的數據行的鎖標志位置位(指向該TX鎖);另一方面,程序或操作人員也可以通過LOCK TABLE語句來指定獲得某種類型的TM鎖。下表是筆者總結了Oracle中各SQL語句產生TM鎖的情況:


表六:Oracle數據庫TM鎖小結

我們可以看到,通常的DML操作(SELECT…FOR UPDATE、INSERT、UPDATE、DELETE),在表級獲得的只是意向鎖(RS或RX),其真正的封鎖粒度還是在行級;另外,Oracle數據庫的一個顯著特點是,在缺省情況下,單純地讀數據(SELECT)并不加鎖,Oracle通過回滾段(Rollback segment)來保證用戶不讀"臟"數據。這些都提高了系統的并發程度。

由于意向鎖及數據行上鎖標志位的引入,減小了Oracle維護行級鎖的開銷,這些技術的應用使Oracle能夠高效地處理高度并發的事務請求。




回頁首


4 DB2多粒度封鎖機制的監控

在DB2中對鎖進行監控主要有兩種方式,第一種方式是快照監控,第二種是事件監控方式。

4.1 快照監控方式

當使用快照方式進行鎖的監控前,必須把監控鎖的開關打開,可以從實例級別和會話級別打開,具體命令如下:


db2 update dbm cfg using dft_mon_lock on(實例級別)
db2 update monitor switches using lock on(會話級別,推薦使用)

當開關打開后,可以執行下列命令來進行鎖的監控

db2 get snapshot for locks on ebankdb(可以得到當前數據庫中具體鎖的詳細信息)
db2 get snapshot for locks on ebankdb
Fri Aug 15 15:26:00 JiNan 2004(紅色為鎖的關鍵信息)


Database Lock Snapshot Database name = DEV Database path = /db2/DEV/db2dev/NODE0000/SQL00001/ Input database alias = DEV Locks held = 49 Applications currently connected = 38 Agents currently waiting on locks = 6 Snapshot timestamp = 08-15-2003 15:26:00.951134 Application handle = 6 Application ID = *LOCAL.db2dev.030815021007 Sequence number = 0001 Application name = disp+work Authorization ID = SAPR3 Application status = UOW Waiting Status change time = Application code page = 819 Locks held = 0 Total wait time (ms) = 0 Application handle = 97 Application ID = *LOCAL.db2dev.030815060819 Sequence number = 0001 Application name = tp Authorization ID = SAPR3 Application status = Lock-wait Status change time = 08-15-2003 15:08:20.302352 Application code page = 819 Locks held = 6 Total wait time (ms) = 1060648Subsection waiting for lock = 0ID of agent holding lock = 100Application ID holding lock = *LOCAL.db2dev.030815061638Node lock wait occurred on = 0Lock object type = RowLock mode = Exclusive Lock (X)Lock mode requested = Exclusive Lock (X)Name of tablespace holding lock = PSAPBTABDSchema of table holding lock = SAPR3Name of table holding lock = TPLOGNAMESLock wait start timestamp = 08-15-2003 15:08:20.302356Lock is a result of escalation = NO List Of LocksLock Object Name = 29204Node number lock is held at = 0Object Type = TableTablespace Name = PSAPBTABDTable Schema = SAPR3Table Name = TPLOGNAMESMode = IXStatus = GrantedLock Escalation = NO

db2 get snapshot for database on dbname |grep -i locks(UNIX,LINUX平臺)


Locks held currently = 7 Lock waits = 75 Time database waited on locks (ms) = 82302438 Lock list memory in use (Bytes) = 20016 Deadlocks detected = 0 Lock escalations = 8 Exclusive lock escalations = 8 Agents currently waiting on locks = 0 Lock Timeouts = 20

db2 get snapshot for database on dbname |find /i "locks"(NT平臺)
db2 get snapshot for locks for applications agentid 45(注:45為應用程序句柄)


Application handle = 45 Application ID = *LOCAL.db2dev.030815021827 Sequence number = 0001 Application name = tp Authorization ID = SAPR3 Application status = UOW Waiting Status change time = Application code page = 819 Locks held = 7 Total wait time (ms) = 0 List Of LocksLock Object Name = 1130185838Node number lock is held at = 0Object Type = Key ValueTablespace Name = PSAPBTABDTable Schema = SAPR3Table Name = TPLOGNAMESMode = XStatus = GrantedLock Escalation = NOLock Object Name = 14053937Node number lock is held at = 0Object Type = RowTablespace Name = PSAPBTABDTable Schema = SAPR3Table Name = TPLOGNAMESMode = XStatus = GrantedLock Escalation = NO

也可以執行下列表函數(注:在DB2 V8之前只能通過命令,DB2 V8后可以通過表函數,推薦使用表函數來進行鎖的監控)

db2 select * from table(snapshot_lock('DBNAME',-1)) as locktable監控鎖信息
db2 select * from table(snapshot_lockwait('DBNAME',-1) as lock_wait_table監控應用程序鎖等待的信息

4.2 事件監控方式:

當使用事件監控器進行鎖的監控時候,只能監控死鎖(死鎖的產生是因為由于鎖請求沖突而不能結束事務,并且該請求沖突不能夠在本事務內解決。通常是兩個應用程序互相持有寒�永久性)特征。關系數據庫為了確保并發用戶在存取同一數據庫對象時的正確性(即無丟失更新、可重復讀、不讀"臟"數據,無"幻像"讀),數據庫中引入了并發(鎖)機制。基本的鎖類型有兩種:排它鎖(Exclusive locks記為X鎖)和共享鎖(Share locks記為S鎖)。

排它鎖:若事務T對數據D加X鎖,則其它任何事務都不能再對D加任何類型的鎖,直至T釋放D上的X鎖;一般要求在修改數據前要向該數據加排它鎖,所以排它鎖又稱為寫鎖。

共享鎖:若事務T對數據D加S鎖,則其它事務只能對D加S鎖,而不能加X鎖,直至T釋放D上的S鎖;一般要求在讀取數據前要向該數據加共享鎖,所以共享鎖又稱為讀鎖。

2 DB2 多粒度封鎖機制介紹

2.1 鎖的對象

DB2支持對表空間、表、行和索引加鎖(大型機上的數據庫還可以支持對數據頁加鎖)來保證數據庫的并發完整性。不過在考慮用戶應用程序的并發性的問題上,通常并不檢查用于表空間和索引的鎖。該類問題分析的焦點在于表鎖和行鎖。

2.2 鎖的策略

DB2可以只對表進行加鎖,也可以對表和表中的行進行加鎖。如果只對表進行加鎖,則表中所有的行都受到同等程度的影響。如果加鎖的范圍針對于表及下屬的行,則在對表加鎖后,相應的數據行上還要加鎖。究竟應用程序是對表加行鎖還是同時加表鎖和行鎖,是由應用程序執行的命令和系統的隔離級別確定。

2.2.1 DB2表鎖的模式

DB2在表一級加鎖可以使用以下加鎖方式:


表一:DB2數據庫表鎖的模式

下面對幾種表鎖的模式進一步加以闡述:

IS、IX、SIX方式用于表一級并需要行鎖配合,他們可以阻止其他應用程序對該表加上排它鎖。

  • 如果一個應用程序獲得某表的IS鎖,該應用程序可獲得某一行上的S鎖,用于只讀操作,同時其他應用程序也可以讀取該行,或是對表中的其他行進行更改。
  • 如果一個應用程序獲得某表的IX鎖,該應用程序可獲得某一行上的X鎖,用于更改操作,同時其他應用程序可以讀取或更改表中的其他行。
  • 如果一個應用程序獲得某表的SIX鎖,該應用程序可以獲得某一行上的X鎖,用于更改操作,同時其他應用程序只能對表中其他行進行只讀操作。

S、U、X和Z方式用于表一級,但并不需要行鎖配合,是比較嚴格的表加鎖策略。

  • 如果一個應用程序得到某表的S鎖。該應用程序可以讀表中的任何數據。同時它允許其他應用程序獲得該表上的只讀請求鎖。如果有應用程序需要更改讀該表上的數據,必須等S鎖被釋放。
  • 如果一個應用程序得到某表的U鎖,該應用程序可以讀表中的任何數據,并最終可以通過獲得表上的X鎖來得到對表中任何數據的修改權。其他應用程序只能讀取該表中的數據。U鎖與S鎖的區別主要在于更改的意圖上。U鎖的設計主要是為了避免兩個應用程序在擁有S鎖的情況下同時申請X鎖而造成死鎖的。
  • 如果一個應用程序得到某表上的X鎖,該應用程序可以讀或修改表中的任何數據。其他應用程序不能對該表進行讀或者更改操作。
  • 如果一個應用程序得到某表上的Z鎖,該應用程序可以讀或修改表中的任何數據。其他應用程序,包括未提交讀程序都不能對該表進行讀或者更改操作。

IN鎖用于表上以允許未提交讀這一概念。

2.2.2 DB2行鎖的模式

除了表鎖之外,DB2還支持以下幾種方式的行鎖。


表二:DB2數據庫行鎖的模式

2.2.3 DB2鎖的兼容性


表三:DB2數據庫表鎖的相容矩陣


表四:DB2數據庫行鎖的相容矩陣

下表是筆者總結了DB2中各SQL語句產生表鎖的情況(假設缺省的隔離級別為CS):



2.3 DB2鎖的升級

每個鎖在內存中都需要一定的內存空間,為了減少鎖需要的內存開銷,DB2提供了鎖升級的功能。鎖升級是通過對表加上非意圖性的表鎖,同時釋放行鎖來減少鎖的數目,從而達到減少鎖需要的內存開銷的目的。鎖升級是由數據庫管理器自動完成的,有兩個數據庫的配置參數直接影響鎖升級的處理:

locklist--在一個數據庫全局內存中用于鎖存儲的內存。單位為頁(4K)。

maxlocks--一個應用程序允許得到的鎖占用的內存所占locklist大小的百分比。

鎖升級會在這兩種情況下被觸發:

  • 某個應用程序請求的鎖所占用的內存空間超出了maxlocks與locklist的乘積大小。這時,數據庫管理器將試圖通過為提出鎖請求的應用程序申請表鎖,并釋放行鎖來節省空間。
  • 在一個數據庫中已被加上的全部鎖所占的內存空間超出了locklist定義的大小。這時,數據庫管理器也將試圖通過為提出鎖請求的應用程序申請表鎖,并釋放行鎖來節省空間。
  • 鎖升級雖然會降低OLTP應用程序的并發性能,但是鎖升級后會釋放鎖占有內存并增大可用的鎖的內存空間。

鎖升級是有可能會失敗的,比如,現在一個應用程序已經在一個表上加有IX鎖,表中的某些行上加有X鎖,另一個應用程序又來請求表上的IS鎖,以及很多行上的S鎖,由于申請的鎖數目過多引起鎖的升級。數據庫管理器試圖為該應用程序申請表上的S鎖來減少所需要的鎖的數目,但S鎖與表上原有的IX鎖沖突,鎖升級不能成功。

如果鎖升級失敗,引起鎖升級的應用程序將接到一個-912的SQLCODE。在鎖升級失敗后,DBA應該考慮增加locklist的大小或者增大maxlocks的百分比。同時對編程人員來說可以在程序里對發生鎖升級后程序回滾后重新提交事務(例如:if sqlca.sqlcode=-912 then rollback and retry等)。




回頁首


3 Oracle 多粒度鎖機制介紹

根據保護對象的不同,Oracle數據庫鎖可以分為以下幾大類:

(1) DML lock(data locks,數據鎖):用于保護數據的完整性;

(2) DDL lock(dictionary locks,字典鎖):用于保護數據庫對象的結構(例如表、視圖、索引的結構定義);

(3) Internal locks 和latches(內部鎖與閂):保護內部數據庫結構;

(4) Distributed locks(分布式鎖):用于OPS(并行服務器)中;

(5) PCM locks(并行高速緩存管理鎖):用于OPS(并行服務器)中。

在Oracle中最主要的鎖是DML(也可稱為data locks,數據鎖)鎖。從封鎖粒度(封鎖對象的大小)的角度看,Oracle DML鎖共有兩個層次,即行級鎖和表級鎖。

3.1 Oracle的TX鎖(行級鎖、事務鎖)

許多對Oracle不太了解的技術人員可能會以為每一個TX鎖代表一條被封鎖的數據行,其實不然。TX的本義是Transaction(事務),當一個事務第一次執行數據更改(Insert、Update、Delete)或使用SELECT… FOR UPDATE語句進行查詢時,它即獲得一個TX(事務)鎖,直至該事務結束(執行COMMIT或ROLLBACK操作)時,該鎖才被釋放。所以,一個TX鎖,可以對應多個被該事務鎖定的數據行(在我們用的時候多是啟動一個事務,然后SELECT… FOR UPDATE NOWAIT)。

在Oracle的每行數據上,都有一個標志位來表示該行數據是否被鎖定。Oracle不像DB2那樣,建立一個鏈表來維護每一行被加鎖的數據,這樣就大大減小了行級鎖的維護開銷,也在很大程度上避免了類似DB2使用行級鎖時經常發生的鎖數量不夠而進行鎖升級的情況。數據行上的鎖標志一旦被置位,就表明該行數據被加X鎖,Oracle在數據行上沒有S鎖。

3.2 TM鎖(表級鎖)

3.2.1 意向鎖的引出

�方所需要的鎖,在得不到自己所需要的鎖的情況下,也不會釋放現有的鎖)的情況,具體步驟如下:

db2 create event monitor dlock for deadlocks with details write to file '$HOME/dir'
db2 set event monitor dlock state 1
db2evmon -db dbname -evm dlock看具體的死鎖輸出(如下圖)


Deadlocked Connection ...Deadlock ID: 4Participant no.: 1Participant no. holding the lock: 2Appl Id: G9B58B1E.D4EA.08D387230817Appl Seq number: 0336Appl Id of connection holding the lock: G9B58B1E.D573.079237231003Seq. no. of connection holding the lock: 0126Lock wait start time: 06/08/2005 08:10:34.219490Lock Name : 0x000201350000030E0000000052Lock Attributes : 0x00000000Release Flags : 0x40000000Lock Count : 1Hold Count : 0Current Mode : NS - Share (and Next Key Share)Deadlock detection time: 06/08/2005 08:10:39.828792Table of lock waited on : ORDERSSchema of lock waited on : DB2INST1Tablespace of lock waited on : USERSPACE1Type of lock: RowMode of lock: NS - Share (and Next Key Share)Mode application requested on lock: X - ExclusiveNode lock occured on: 0Lock object name: 782Application Handle: 298Deadlocked Statement:Type : DynamicOperation: ExecuteSection : 34Creator : NULLIDPackage : SYSSN300Cursor : SQL_CURSN300C34Cursor was blocking: FALSEText : UPDATE ORDERS SET TOTALTAX = ?, TOTALSHIPPING = ?, LOCKED = ?, TOTALTAXSHIPPING = ?, STATUS = ?, FIELD2 = ?, TIMEPLACED = ?, FIELD3 = ?, CURRENCY = ?, SEQUENCE = ?, TOTALADJUSTMENT = ?, ORMORDER = ?, SHIPASCOMPLETE = ?, PROVIDERORDERNUM = ?, TOTALPRODUCT = ?, DESCRIPTION = ?, MEMBER_ID = ?, ORGENTITY_ID = ?, FIELD1 = ?, STOREENT_ID = ?, ORDCHNLTYP_ID = ?, ADDRESS_ID = ?, LASTUPDATE = ?, COMMENTS = ?, NOTIFICATIONID = ? WHERE ORDERS_ID = ?List of Locks:Lock Name : 0x000201350000030E0000000052Lock Attributes : 0x00000000Release Flags : 0x40000000Lock Count : 2Hold Count : 0Lock Object Name : 782Object Type : RowTablespace Name : USERSPACE1Table Schema : DB2INST1Table Name : ORDERSMode : X - ExclusiveLock Name : 0x00020040000029B30000000052Lock Attributes : 0x00000020Release Flags : 0x40000000Lock Count : 1Hold Count : 0Lock Object Name : 10675Object Type : RowTablespace Name : USERSPACE1Table Schema : DB2INST1Table Name : BKORDITEMMode : X - Exclusive(略去后面信息)





回頁首


5 Oracle 多粒度封鎖機制的監控

為了監控Oracle系統中鎖的狀況,我們需要對幾個系統視圖有所了解:

5.1 v$lock視圖

v$lock視圖列出當前系統持有的或正在申請的所有鎖的情況,其主要字段說明如下:


表七:v$lock視圖主要字段說明

其中在TYPE字段的取值中,本文只關心TM、TX兩種DML鎖類型;

5.2 v$locked_object視圖

v$locked_object視圖列出當前系統中哪些對象正被鎖定,其主要字段說明如下:


表八:v$locked_object視圖字段說明

5.3 Oracle鎖監控腳本

根據上述系統視圖,可以編制腳本來監控數據庫中鎖的狀況。

5.3.1 showlock.sql

第一個腳本showlock.sql,該腳本通過連接v$locked_object與all_objects兩視圖,顯示哪些對象被哪些會話鎖住:


/* showlock.sql */ column o_name format a10 column lock_type format a20 column object_name format a15 select rpad(oracle_username,10) o_name,session_id sid, decode(locked_mode,0,'None',1,'Null',2,'Row share', 3,'Row Exclusive',4,'Share',5,'Share Row Exclusive',6,'Exclusive') lock_type, object_name ,xidusn,xidslot,xidsqn from v$locked_object,all_objects where v$locked_object.object_id=all_objects.object_id; 5.3.2 showalllock.sql

第二個腳本showalllock.sql,該腳本主要顯示當前所有TM、TX鎖的信息;


/* showalllock.sql */ select sid,type,id1,id2, decode(lmode,0,'None',1,'Null',2,'Row share', 3,'Row Exclusive',4,'Share',5,'Share Row Exclusive',6,'Exclusive') lock_type,request,ctime,block from v$lock where TYPE IN('TX','TM');





回頁首


6 DB2 多粒度封鎖機制示例

以下示例均運行在DB2 UDB中,適用所有數據庫版本。首先打開三個命令行窗口(DB2 CLP),其中兩個(以下用SESS#1、SESS#2表示)以db2admin用戶連入數據庫,以操作SAMPLE庫中提供的示例表(employee);另一個(以下用SESS#3表示)以db2admin用戶連入數據庫,對執行的每一種類型的SQL語句監控加鎖的情況;希望讀者通過這種方式對每一種類型的SQL語句監控加鎖的情況。(因為示例篇幅很大,筆者在此就不做了,建議讀者用類似方法驗證加鎖情況)


/home/db2inst1>db2 +c update employee set comm=9999(SESS#1) /home/db2inst1>db2 +c select * from employee(SESS#2處于lock wait) /home/db2inst1>db2 +c get snapshot for locks on sample(SESS#3監控加鎖情況)

注:db2 +c為不自動提交(commit)SQL語句,也可以通過 db2 update command options using c off關閉自動提交(autocommit,缺省是自動提交)




回頁首


7 總結

總的來說,DB2的鎖和Oracle的鎖主要有以下大的區別:

1.Oracle通過具有意向鎖的多粒度封鎖機制進行并發控制,保證數據的一致性。其DML鎖(數據鎖)分為兩個層次(粒度):即表級和行級。通常的DML操作在表級獲得的只是意向鎖(RS或RX),其真正的封鎖粒度還是在行級;DB2也是通過具有意向鎖的多粒度封鎖機制進行并發控制,保證數據的一致性。其DML鎖(數據鎖)分為兩個層次(粒度):即表級和行級。通常的DML操作在表級獲得的只是意向鎖(IS,SIX或IX),其真正的封鎖粒度也是在行級;另外,在Oracle數據庫中,單純地讀數據(SELECT)并不加鎖,這些都提高了系統的并發程度,Oracle強調的是能夠"讀"到數據,并且能夠快速的進行數據讀取。而DB2的鎖強調的是"讀一致性",進行讀數據(SELECT)時會根據不同的隔離級別(RR,RS,CS)而分別加S,IS,IS鎖,只有在使用UR隔離級別時才不加鎖。從而保證不同應用程序和用戶讀取的數據是一致的。

2. 在支持高并發度的同時,DB2和Oracle對鎖的操縱機制有所不同:Oracle利用意向鎖及數據行上加鎖標志位等設計技巧,減小了Oracle維護行級鎖的開銷,使其在數據庫并發控制方面有著一定的優勢。而DB2中對每個鎖會在鎖的內存(locklist)中申請分配一定字節的內存空間,具體是X鎖64字節內存,S鎖32字節內存(注:DB2 V8之前是X鎖72字節內存而S鎖36字節內存)。

3. Oracle數據庫中不存在鎖升級,而DB2數據庫中當數據庫表中行級鎖的使用超過locklist*maxlocks會發生鎖升級。

4. 在Oracle中當一個session對表進行insert,update,delete時候,另外一個session仍然可以從Orace回滾段或者還原表空間中讀取該表的前映象(before image); 而在DB2中當一個session對表進行insert,update,delete時候,另外一個session仍然在讀取該表數據時候會處于lock wait狀態,除非使用UR隔離級別可以讀取第一個session的未提交的值;所以Oracle同一時刻不同的session有讀不一致的現象,而DB2在同一時刻所有的session都是"讀一致"的。




回頁首


8 結束語

DB2中關于并發控制(鎖)的建議

1.正確調整locklist,maxlocks,dlchktime和locktimeout等和鎖有關的數據庫配置參數(locktimeout最好不要等于-1)。如果鎖內存不足會報SQL0912錯誤而影響并發。

2.寫出高效而簡潔的SQL語句(非常重要)。

3.在業務邏輯處理完后盡可能快速commit釋放鎖。

4.對引起鎖等待(SQL0911返回碼68)和死鎖(SQL0911返回碼2)的SQL語句創建最合理的索引(非常重要,盡量創建復合索引和包含索引)。

5.使用 altER TABLE 語句的 LOCKSIZE 參數控制如何在持久基礎上對某個特定表進行鎖定。檢查syscat.tables中locksize字段,盡量在符合業務邏輯的情況下,每個表中該字段為"R"(行級鎖)。

6.根據業務邏輯使用正確的隔離級別(RR,RS,CS和UR)。

7.當執行大量更新時,更新之前,在整個事務期間鎖定整個表(使用 SQL LOCK TABLE 語句)。這只使用了一把鎖從而防止其它事務進行這些更新,但是對于其他用戶它的確減少了數據并發性。




回頁首


免責聲明和公開聲明

本文所述觀點是基于作者個人對相關產品的理解,并不代表 IBM 的官方觀點,IBM 不對本文中的信息負責。




回頁首






回頁首


關于作者

牛新莊博士是IBM官方高級培訓講師,于2002年獲IBM杰出軟件專家獎,是《程序員》,《電腦編程與維護》等雜志數據庫專欄作家,是很多公司的技術顧問,他擁有OCP,AIX,DB2,HP-UX,MQ,CICS和WebSphere等二十多項國際認證。曾經幫助工農商建招交六大行、上海移動、青島海爾、云南紅塔、江蘇電力公司等公司做過問題診斷、性能調優和技術支持,他經常往返于國內大中城市解決數據庫技術難題,有著豐富的理論和實踐經驗。

總結

以上是生活随笔為你收集整理的DB2和 Oracle的并发控制(锁)比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美精品一区在线发布 | av一本久道久久波多野结衣 | 日韩中文字幕网站 | 久久综合狠狠综合久久激情 | 国产一级片免费播放 | 天天躁天天躁天天躁婷 | 91看片在线观看 | 97在线免费| 国产精品av在线 | 探花视频在线观看免费版 | 69视频在线播放 | avove黑丝| 国产精品大全 | 热99在线| www.天堂av| 91精品国产乱码久久桃 | 在线观看日韩 | 毛片二区| 色香网 | 在线观看不卡的av | 日韩欧美在线观看一区二区三区 | 亚洲精品在线观看视频 | 国产69精品久久久久9999apgf | 欧美激情精品久久久久 | 一区二区三区四区在线 | 一区二区三区电影大全 | 日本公妇色中文字幕 | 在线黄色毛片 | 五月宗合网 | 久久天天操| 国产精品 日韩精品 | 久久久久久久久久久久久国产精品 | 国产视频亚洲视频 | 在线精品视频免费观看 | 日韩精选在线观看 | 夜色成人网 | 亚洲精品乱码久久久久久写真 | 久久精品这里精品 | 正在播放五月婷婷狠狠干 | 久久精选 | 懂色av一区二区在线播放 | 在线国产精品一区 | www操操操| 欧美精品黑人性xxxx | 综合精品久久 | 日本激情中文字幕 | 国产又粗又猛又色又黄网站 | h视频在线看 | 一本一道久久a久久精品 | 成人午夜黄色 | 久久久受www免费人成 | 天天操天天操天天操天天操 | 精品 一区 在线 | 人人爽人人爽人人爽人人爽 | 久久久久成 | 黄色a三级| 有码中文字幕在线观看 | 操操操干干干 | 视频在线观看一区 | 亚洲自拍偷拍色图 | 亚洲精品乱码久久久久久按摩 | 综合精品久久久 | 日韩久久午夜一级啪啪 | wwwww.国产| www.狠狠操| 99久久精品免费看国产免费软件 | 夜夜操天天摸 | 99热官网| 国产淫片免费看 | 99精品电影 | a天堂免费| 久久久久久蜜av免费网站 | 中文字幕第一页在线播放 | av免费观看网址 | 欧美一区二区三区在线 | 国产91aaa | 欧美性直播 | 国产看片免费 | 亚洲精品小视频在线观看 | 日韩在线高清免费视频 | 日韩在线免费电影 | 国产乱对白刺激视频在线观看女王 | 国产高清中文字幕 | 欧洲不卡av | 日本 在线 视频 中文 有码 | 日韩av电影国产 | 一级特黄aaa大片在线观看 | 欧美亚洲精品一区 | 九九在线视频免费观看 | 色国产精品一区在线观看 | 亚洲国产av精品毛片鲁大师 | 亚洲国产精品久久久久婷婷884 | 成人午夜精品 | 激情婷婷久久 | 激情综合狠狠 | 久草视频视频在线播放 | 亚洲精品高清视频 | 青青河边草观看完整版高清 | 欧美一级大片在线观看 | 久久国内精品 | 欧美视频国产视频 | 99热在线这里只有精品 | 成人性生交大片免费观看网站 | 国产欧美综合在线观看 | 婷婷日韩 | 精品女同一区二区三区在线观看 | 精品视频9999 | 亚洲一级片av | 国产黄色免费观看 | av免费看av| 在线成人短视频 | 91麻豆精品国产91久久久更新时间 | 色午夜| 天天射天天拍 | 天天操网站 | 日韩精品中文字幕久久臀 | 久久精品免费 | 免费福利视频导航 | 最新日韩在线 | 久久精品韩国 | 久久高清视频免费 | 日韩亚洲欧美中文字幕 | 中文字幕在线视频网站 | 久久久久成人精品 | 国产1区2区 | 人人超碰免费 | 精品国产美女 | 黄色亚洲大片免费在线观看 | 中文字幕亚洲高清 | 婷婷六月在线 | 亚洲综合在线视频 | 欧美日韩中文字幕在线视频 | 日韩激情片在线观看 | 久久久久久免费毛片精品 | 久久无码精品一区二区三区 | 久草在线在线精品观看 | 久久99精品国产99久久6尤 | 国产青草视频在线观看 | 成人app在线免费观看 | 精品 一区 在线 | 日韩av成人在线观看 | 中文字幕一区在线 | 国产精品美女久久久久久网站 | 日本在线观看一区二区三区 | 91高清免费看| 成人试看120秒 | 色综合天天天天做夜夜夜夜做 | 久久三级视频 | 婷婷精品国产欧美精品亚洲人人爽 | 国产一级电影 | 中文字幕免费高清在线 | 狠狠色2019综合网 | 日本久久综合视频 | a√资源在线| 午夜成人影视 | 蜜桃视频色 | 日韩黄色中文字幕 | 免费看短 | 精品美女在线观看 | 欧美精品一区二区在线观看 | 91人人爽久久涩噜噜噜 | 天堂av在线中文在线 | 99精品久久久久久久久久综合 | 国产精品久久久毛片 | 91精品国产99久久久久久红楼 | 黄污网站在线 | 天躁狠狠躁 | 中文字幕在线观看完整版 | 亚洲高清在线观看视频 | 成人国产精品一区 | 久久综合一本 | 免费在线观看国产黄 | 碰碰影院 | 婷婷狠狠操 | 久久久久久99精品 | 欧美大片mv免费 | 国产又粗又猛又爽又黄的视频先 | 成人中心免费视频 | 国产精品美女久久久免费 | 国产成人精品综合久久久久99 | 久久国产成人午夜av影院潦草 | 69精品在线观看 | 深爱婷婷网| 玖玖在线精品 | 日韩精品短视频 | 国产精品久久久久av福利动漫 | 手机av电影在线 | 日韩三级视频在线看 | 国内外激情视频 | 五月天婷亚洲天综合网精品偷 | 天天干天天草天天爽 | 园产精品久久久久久久7电影 | 久久久久国产精品免费网站 | 色99色| 国产黄色在线网站 | 成人网在线免费视频 | 99久久超碰中文字幕伊人 | 最新婷婷色 | 在线观看免费视频你懂的 | 久久精彩视频 | 7777精品伊人久久久大香线蕉 | 中文字幕第一页在线播放 | 久久精品综合一区 | 999久久久免费视频 午夜国产在线观看 | 日韩欧美一区二区三区免费观看 | 黄色三级网站在线观看 | 亚洲区另类春色综合小说校园片 | 久久久久激情视频 | 久久婷婷五月综合色丁香 | 国产婷婷视频在线 | 国产精品久久久久久一区二区三区 | 久艹视频免费观看 | 亚洲午夜在线视频 | 午夜国产福利在线观看 | 九七视频在线观看 | 在线一区av | 国产精品国产亚洲精品看不卡 | 国产一区在线播放 | 国产香蕉久久 | 久久三级毛片 | 91亚洲精品久久久中文字幕 | www久久久| av观看久久久| 亚洲精选视频在线 | av在线小说 | www.狠狠操 | 免费观看www小视频的软件 | 精品国产乱码 | 黄色av电影免费观看 | 久久成人国产精品入口 | 久久精品视频4 | 狠狠干在线 | 天天在线免费视频 | 久久综合狠狠 | 久久成人高清视频 | 在线免费观看不卡av | 久久这里只有精品9 | 中文高清av | 国产免费又爽又刺激在线观看 | 久草精品视频 | 国产伦精品一区二区三区高清 | 国产精品18久久久久久久网站 | 人人射人人插 | 五月婷婷在线视频 | 国产在线视频一区二区 | 97福利在线观看 | 亚洲精品在线观看网站 | 天天天天天天干 | 免费视频一区二区 | 五月婷在线播放 | 久久丁香网 | 三级黄色在线 | 麻豆91在线观看 | 黄色官网在线观看 | 国产玖玖在线 | 欧美日韩视频在线观看免费 | 久色 网| 69国产盗摄一区二区三区五区 | 国产日韩欧美视频 | 7777xxxx| 日韩在线视频网 | 国产日韩欧美在线一区 | 一区二区视 | 欧美在线1区 | 岛国精品一区二区 | 国内精品福利视频 | 99精彩视频在线观看免费 | 日本精品久久久久久 | 国产黄在线免费观看 | 免费观看一级成人毛片 | 欧美va在线观看 | 欧美另类高潮 | 国产精品男女视频 | 麻豆视频国产精品 | 久久久天堂 | 天天草天天干天天射 | 狠狠地操 | 精品视频在线播放 | 丝袜制服天堂 | 精品欧美一区二区精品久久 | 国产高清无av久久 | 美女福利视频一区二区 | 99在线免费观看视频 | 日本高清免费中文字幕 | 午夜.dj高清免费观看视频 | 久草在线资源视频 | 久久精品视频日本 | 综合久久久 | 婷婷综合成人 | 丁香久久婷婷 | 天天综合色网 | 国产成人精品一区二区三区福利 | 日韩理论电影在线 | 国产视频一 | 国产一区二区在线影院 | 91少妇精拍在线播放 | www.com操| 久在线观看视频 | 国产一区成人 | 六月丁香社区 | 99精品国产在热久久 | 欧美成人猛片 | 亚洲www天堂com | 黄色网址a | 亚洲精品在线国产 | 在线 日韩 av| 夜夜干天天操 | 99综合影院在线 | 三三级黄色片之日韩 | 99热在线国产 | 日本黄色免费大片 | 日日狠狠 | 日韩电影一区二区三区在线观看 | 精品毛片一区二区免费看 | 精品夜夜嗨av一区二区三区 | 2021久久| 在线视频在线观看 | 国产丝袜在线 | 热re99久久精品国产66热 | 午夜精品一区二区三区在线视频 | 久久欧美在线电影 | 久久免费视频6 | www欧美色 | 不卡日韩av| 最近中文字幕高清字幕在线视频 | 精品女同一区二区三区在线观看 | 国产精品综合久久 | 91精品中文字幕 | 国产女人免费看a级丨片 | 久草在线视频免赞 | 麻豆一级视频 | 国产精品美女久久久免费 | 免费视频你懂的 | 国产69精品久久99不卡的观看体验 | av免费看在线 | 国产精品一区二区三区在线看 | 怡红院av久久久久久久 | 久久国语露脸国产精品电影 | 天天玩天天干天天操 | 精品免费 | 国产精品久久久久久久久久久不卡 | 久久久久久综合 | 免费亚洲成人 | 免费观看一级 | 日韩欧美在线免费观看 | www色av| a天堂最新版中文在线地址 久久99久久精品国产 | 久久久999精品视频 国产美女免费观看 | 欧美少妇bbwhd | 中文字幕高清免费日韩视频在线 | 日韩欧美视频在线免费观看 | 免费观看全黄做爰大片国产 | 国产中文自拍 | av免费在线网站 | 亚洲精品乱码久久久久v最新版 | 国产婷婷vvvv激情久 | 久久国产精品99久久久久久丝袜 | 激情在线免费视频 | 日本中文字幕在线免费观看 | 精品在线观看一区二区 | 国产综合福利在线 | a视频在线观看免费 | aav在线 | 色999五月色 | 久久天天躁夜夜躁狠狠85麻豆 | 狠狠干网址 | 国产理论影院 | 激情开心 | 欧美美女视频在线观看 | 欧美 日韩 性 | 精品视频一区在线 | 日本韩国精品在线 | 91免费看黄色 | 蜜臀av性久久久久av蜜臀三区 | 精品免费视频. | 国产精品色视频 | 欧美成人中文字幕 | 激情婷婷在线 | 久久99电影 | 日本精品久久久久中文字幕5 | 一区二区三区中文字幕在线观看 | 欧洲激情综合 | 天天综合网 天天综合色 | 亚洲综合在线播放 | 国产这里只有精品 | av+在线播放在线播放 | 97超碰中文字幕 | 欧美日韩亚洲国产一区 | 欧美另类人妖 | 视频国产精品 | 91原创在线观看 | 国产精品自产拍在线观看蜜 | 日韩综合一区二区 | 亚洲,国产成人av | 久久精品视频3 | 欧美性成人 | 国产啊v在线观看 | 日韩在线网址 | 中文一区二区三区在线观看 | 日韩www在线 | 精品三级av | 精品国产欧美一区二区三区不卡 | 黄污视频大全 | 久久国产精品视频免费看 | 超碰激情在线 | 亚洲乱码精品久久久 | 久久久久亚洲精品男人的天堂 | 成人福利在线 | 成人h动漫精品一区二 | 亚洲成av人片在线观看www | 久久久久久久久久久免费av | 亚洲精品自拍视频在线观看 | 亚洲激情婷婷 | 国产视频精品久久 | 亚洲韩国一区二区三区 | 日韩午夜三级 | 日本中文字幕视频 | www黄| 亚洲精品国产免费 | 超碰97成人 | 中文字幕色综合网 | 99热在| 麻豆免费视频网站 | 亚洲人在线 | 色天天中文 | 日韩欧美第二页 | 99r在线播放| 国产精品国产三级国产aⅴ9色 | 国产美女网站在线观看 | 999精品网| 91久色蝌蚪| 色偷偷88888欧美精品久久 | 日韩欧美一区二区三区在线观看 | 三级av中文字幕 | 欧美精品乱码久久久久久按摩 | 久久亚洲免费 | 精品视频久久久 | 在线看国产日韩 | 国产v在线观看 | 欧美日韩视频在线播放 | 久久不卡免费视频 | 日韩三级.com | 91九色蝌蚪国产 | 久久午夜羞羞影院 | 激情综合六月 | 69精品久久 | 丝袜av一区| 国产又黄又爽又猛视频日本 | 手机av在线免费观看 | 亚洲精品电影在线 | 欧美一区二区精品在线 | 91九色成人| 国产中文字幕视频在线 | 中文字幕有码在线观看 | 亚洲综合最新在线 | 波多野结衣视频一区二区三区 | 日韩r级电影在线观看 | 午夜免费电影院 | 欧美激情综合色综合啪啪五月 | www.啪啪.com| 波多野结衣在线视频一区 | 国产在线一区观看 | 日韩三级成人 | 最新av中文字幕 | 国产精品成人免费精品自在线观看 | 99国产精品久久久久老师 | 五月天激情综合网 | 欧美日在线观看 | 亚洲精品久久久久久中文传媒 | 天天曰 | 日韩久久久久久久 | 伊人超碰在线 | 免费在线观看av电影 | 13日本xxxxxⅹxxx20 | 精品黄色视 | 91麻豆免费看 | 日韩精品一区二区三区高清免费 | 欧美十八 | 麻豆国产精品va在线观看不卡 | 中文字幕在线色 | 亚洲欧美精品一区二区 | av福利电影 | 中文字幕一区二区三区乱码不卡 | 色欧美综合 | 免费看三级黄色片 | 高清国产午夜精品久久久久久 | 一区二区三区国产精品 | 人人澡人人添人人爽一区二区 | 国产一区 在线播放 | 免费日韩一区二区三区 | 超碰999| 国产精品乱码久久久久 | 国产免费黄色 | 亚洲国产经典视频 | 中文高清av | 91福利视频免费观看 | 婷婷色5月 | 久久在线影院 | 日韩一区二区三区高清免费看看 | 午夜久久网站 | 亚洲成人动漫在线观看 | 在线观看成人小视频 | 2020天天干天天操 | 久久99偷拍视频 | 91视频下载 | 亚洲欧美少妇 | 久久国产精品小视频 | 激情久久五月 | 在线观看国产www | 国产日韩欧美在线免费观看 | 久久免费视屏 | 中文字幕av一区二区三区四区 | 日韩最新av在线 | 在线中文字幕观看 | 精品视频 | 日韩精选在线 | 久久精品国产v日韩v亚洲 | 欧美日韩中文在线 | 久久国产精品久久国产精品 | 国产精品一区二区久久精品 | 深爱五月网 | 国产日韩精品一区二区三区在线 | 粉嫩av一区二区三区四区在线观看 | 亚洲成人第一区 | 超碰人人干人人 | 9ⅰ精品久久久久久久久中文字幕 | 视频一区二区免费 | 视频一区二区在线 | 久久高清免费观看 | 日本不卡一区二区三区在线观看 | 激情图片qvod | 日日夜夜爱 | 久久久色| 国产精品69av | 国产高清视频免费最新在线 | 色婷婷国产精品一区在线观看 | 国产资源在线视频 | 欧美小视频在线观看 | 国产高清视频在线播放 | 又黄又爽又刺激的视频 | 欧日韩在线视频 | 国产高清视频网 | 久久国内精品 | 亚洲黄色免费电影 | 黄色小说免费观看 | 日本乱码在线 | 久久精品视频在线免费观看 | 欧美亚洲专区 | 午夜婷婷在线观看 | 精品国产福利在线 | 久操视频在线 | 玖玖在线观看视频 | 国产剧情在线一区 | 国产精品入口66mio女同 | 色综合久久五月天 | 六月色丁香 | 97成人在线免费视频 | 欧美久久久久久久 | 免费a视频 | 久久综合九色综合久99 | 韩国一区二区三区在线观看 | 成人在线免费观看网站 | 久久精品国产美女 | 欧美日韩国产精品久久 | 99爱爱| av片一区二区 | 精品在线观看免费 | 三级黄色免费 | 女人18片| 精品一区二区三区四区在线 | 中午字幕在线观看 | 日韩免费三区 | 久久久久久国产精品美女 | 国产日韩视频在线 | 午夜精品一区二区三区在线播放 | 黄网站色视频免费观看 | 国产香蕉av | 国产精品99久久久久久人免费 | 婷婷在线网站 | 免费看片网址 | 99精品网站| 久久电影网站中文字幕 | 久久这里只有精品1 | 国内免费久久久久久久久久久 | 国产在线a免费观看 | 国产伦理久久精品久久久久_ | 久久午夜网 | 婷婷国产在线观看 | 91麻豆精品国产自产在线游戏 | 亚洲视频1| 18性欧美xxxⅹ性满足 | 中文字幕av免费在线观看 | 成人a级免费视频 | 成人免费在线播放 | 精品在线观 | 手机成人av | 国产免费成人av | av免费看在线 | 天天操天天摸天天爽 | 国产福利精品在线观看 | 国产中文在线观看 | 五月婷婷激情网 | 91欧美视频网站 | 天天干,天天操,天天射 | 在线视频观看亚洲 | 丰满少妇久久久 | 久久99久久99精品免观看粉嫩 | 狠狠色丁香婷婷综合基地 | 亚洲精品网站在线 | 久久夜色精品国产欧美一区麻豆 | 亚洲视频专区在线 | 国产一区久久 | 天天射综合网视频 | 色婷婷播放 | 久久草精品 | 日韩中文久久 | 久久综合久久综合这里只有精品 | 国产91免费在线 | 日日婷婷夜日日天干 | 色综合久久精品 | 精品99久久久久久 | 在线黄av| 免费成人av在线 | 亚洲自拍偷拍色图 | 亚洲视频综合 | 狠狠躁夜夜a产精品视频 | 日韩精品免费专区 | 9在线观看免费高清完整版 玖玖爱免费视频 | 亚洲理论片 | 国产在线观看91 | 在线日韩一区 | 成人在线观看资源 | 日韩成人免费电影 | 日本韩国欧美在线观看 | 啪啪小视频网站 | 久草视频精品 | 最近中文字幕久久 | 久久国产精品色婷婷 | 国产淫a | 国产精品6999成人免费视频 | 国产色婷婷精品综合在线手机播放 | 黄色毛片在线看 | 国产99久久九九精品免费 | 欧美日韩xxx | 久操中文字幕在线观看 | 开心婷婷色 | 国产视频一区二区三区在线 | 国产成人精品综合久久久久99 | 在线观看亚洲精品 | 国内免费的中文字幕 | 91精品国产高清自在线观看 | 色av资源网 | 久久精品婷婷 | 啪啪精品 | 免费看的黄色录像 | 天天天天干 | 在线观看黄网 | 久草在线资源免费 | 免费高清av在线看 | 亚洲精品h| 一区二区精品在线观看 | 日本论理电影 | 一级片视频免费观看 | 国产精品综合av一区二区国产馆 | 欧美夫妻生活视频 | 夜色资源站国产www在线视频 | 久久99久久99 | 成人毛片久久 | 国产精品99久久免费观看 | 国产精品精品久久久久久 | 激情开心色 | 久久精品亚洲综合专区 | 欧美一级看片 | .国产精品成人自产拍在线观看6 | 久久久久久久久久电影 | 不卡中文字幕在线 | 夜夜躁日日躁狠狠久久88av | 中文av在线播放 | 一区视频在线 | 亚洲高清网站 | 亚洲狠狠干 | 久草电影网 | 在线不卡中文字幕播放 | 久久久国产精品人人片99精片欧美一 | 91精品老司机久久一区啪 | 91福利社在线观看 | 亚洲黄a | 国产精品视频永久免费播放 | 国产精品九九九九九 | 久久日韩精品 | 91午夜精品| 正在播放一区二区 | 国产成人一区二区三区在线观看 | 成人av在线影视 | 国产精品九九视频 | 黄色小说网站在线 | 国产精品久久精品 | 狠狠狠狠狠操 | 天天操天天色天天射 | 国产精品久久久久久久7电影 | 国产高清不卡一区二区三区 | 亚洲精品在线观看不卡 | 日韩美在线观看 | 一区二区三区在线观看 | 中文字幕第一页av | 三上悠亚一区二区在线观看 | 婷婷电影在线观看 | 97在线成人 | 狠狠操操操 | 成年人免费在线观看网站 | 亚洲精品一区二区久 | 四虎免费av | 欧美a级一区二区 | 91av在线播放视频 | 天天弄天天干 | 天天干天天干天天操 | 免费观看全黄做爰大片国产 | 97成人免费视频 | 久久精品在线免费观看 | 91在线一区 | 欧美人体xx| 国产精品毛片一区二区在线看 | 色悠悠久久综合 | 国产理伦在线 | 亚洲精品美女在线 | 国产精品女同一区二区三区久久夜 | 欧美一区二区日韩一区二区 | 亚洲国产成人在线观看 | av在线进入 | 亚洲精品在线观看的 | 精品久久影院 | 欧美福利在线播放 | 成人啪啪18免费游戏链接 | 成人影视免费看 | av黄色成人 | 国产区精品视频 | 国产午夜精品免费一区二区三区视频 | 亚洲综合在线发布 | 西西4444www大胆视频 | 色偷偷人人澡久久超碰69 | 国精产品一二三线999 | 一性一交视频 | 国产在线观看99 | 最近免费中文字幕 | 国产99久久久国产精品免费看 | 免费高清看电视网站 | 国产午夜一区 | 成人作爱视频 | 麻豆国产精品永久免费视频 | 91九色综合 | 黄色小说网站在线 | 成人9ⅰ免费影视网站 | 嫩草av在线 | 欧美一区二区在线免费观看 | 高清av免费看 | 在线播放一区二区三区 | 久久69精品 | 免费aa大片 | 午夜久久 | 人人爽久久涩噜噜噜网站 | 999电影免费在线观看2020 | 国产精品亚州 | 黄色毛片一级片 | 国产精品美女视频 | 337p西西人体大胆瓣开下部 | 精品一区二区视频 | 五月激情久久 | 色婷婷综合久色 | 国产精品久久久久久久久久久久 | 夜夜操狠狠干 | 久久久午夜精品理论片中文字幕 | 999一区二区三区 | 亚洲国产精品999 | 精品国内自产拍在线观看视频 | 91av视频在线播放 | 婷婷色在线观看 | 中文伊人| 免费看片亚洲 | 久久久综合色 | 国产精品99免费看 | 综合伊人久久 | 成人国产精品久久久 | 中文字幕第一 | 国产高清精品在线 | 在线观看中文字幕亚洲 | 成人av一级片 | 欧美色噜噜 | 亚洲欧美色婷婷 | 超碰av在线免费观看 | 色婷婷久久 | 久久综合免费视频 | 中文字幕亚洲欧美 | 精品网站999www | 特片网久久 | 精品视频免费看 | 天天干夜夜干 | 91污污视频在线观看 | 片网站| 日韩精品在线播放 | 日日夜夜狠狠操 | 亚洲国产日韩在线 | 亚洲欧美在线观看视频 | 国产在线视频导航 | 中文av资源站 | 99热国内精品 | 亚洲在线色 | 99这里只有精品视频 | 一级一片免费观看 | 久久久免费看视频 | 国产一区在线免费观看视频 | 久久久久亚洲最大xxxx | 久久tv| 精品久久久国产 | 欧美aaaxxxx做受视频 | 狠狠的干| 婷婷伊人网 | 欧美日韩视频网站 | 992tv在线观看网站 | 成人av免费在线观看 | zzijzzij亚洲成熟少妇 | 久久免费a| 奇米网777 | 精品久久久免费 | 2021国产视频 | 五月天亚洲激情 | 日韩在线播放视频 | 国产午夜精品久久 | 亚洲视频电影在线 | 欧美在线视频不卡 | 一区二区三区 中文字幕 | 国产精品第2页 | 成人免费观看在线视频 | 中文字幕国内精品 | 久久ww| 激情综合五月天 | 99在线观看免费视频精品观看 | 在线看污网站 | 久久高清视频免费 | 激情视频在线高清看 | 91精品国产高清自在线观看 | 免费三级黄色 | 亚洲精品字幕在线观看 | 一区二区欧美在线观看 | 99久久精品网 | 午夜视频在线观看一区 | 成人a视频| www.天天草| 国产一级免费在线 | 亚洲免费小视频 | 超级碰碰碰免费视频 | 一级精品视频在线观看宜春院 | 久久丁香 | 激情欧美一区二区三区免费看 | 久久96国产精品久久99漫画 | 日韩综合第一页 | 国产97在线视频 | 亚洲精品国产麻豆 | 国产精品日韩高清 | 亚洲91精品 | 久福利| 香蕉视频在线播放 | 久久人人爽人人爽人人 | 国产视频精品网 | 国产日韩欧美视频在线观看 | 91精品国产自产91精品 | 国产成人精品亚洲 | 青青视频一区 | 人九九精品 | 91探花在线 | 99这里只有精品视频 | 色夜视频| 天天操操 | 日韩电影在线观看中文字幕 | 韩国av免费观看 | 在线免费观看视频一区 | 国产亚洲激情视频在线 | 亚洲福利精品 | 亚洲美女精品 | 国产一级片在线播放 | 国产精品免费不 | 久久久免费毛片 | 国产精品美女在线 | 中文字幕在线色 | 久久精品香蕉视频 | 一区二区三区精品久久久 | 91热这里只有精品 | a视频在线观看 | 人人天天夜夜 | 国产亚洲精品成人av久久影院 | jizz999| 久久精品一区二区三区四区 | 天天综合色天天综合 | 天天曰天天干 | 字幕网资源站中文字幕 | 四虎在线免费视频 | 91丨九色丨高潮丰满 | 中文电影网 | a一片一级 | 亚洲精品激情 | 日本成人中文字幕在线观看 | 久久人人添人人爽添人人88v | 国产一级精品视频 | av高清一区二区三区 | 色狠狠综合天天综合综合 | 免费在线黄色av | 天天干国产 | 久久精品五月 | 婷婷精品在线视频 | 狠狠色丁香婷婷综合视频 | 激情欧美丁香 | 国产亚洲精品久久久久久 | 国产又粗又猛又黄又爽的视频 | 在线成人免费 | 欧美一级片免费在线观看 | 免费视频 三区 | 日本久久久久久久久久久 | 国产亚洲高清视频 | 色999精品| 婷婷丁香在线观看 | 93久久精品日日躁夜夜躁欧美 | 亚洲成av人片在线观看www | 国产香蕉在线 | 超碰97人 | 日韩欧美99 | 国产 字幕 制服 中文 在线 | 欧美成人在线免费 | 亚洲精品小视频 | 国产美女在线观看 | 一本一道久久a久久综合蜜桃 | 2021国产在线 | av天天澡天天爽天天av | 国产美女久久久 | www欧美xxxx| 波多野结衣电影一区 | 午夜视频一区二区三区 | 久久久国产精品麻豆 | 四虎国产精品成人免费影视 | 亚洲成av人影片在线观看 | 亚洲成av人片在线观看 | 久草在线观看视频免费 | 91在线视频免费 | 国产日韩精品一区二区三区在线 | 一区二区电影在线观看 | 91成品人影院 | 91在线精品秘密一区二区 | 69国产在线观看 | 中文字幕在线免费观看 | 深爱激情av | 视频精品一区二区三区 | 国产精品久久久久久久久免费看 | 在线免费观看视频 | 在线国产小视频 | 国产精品美女久久久久久2018 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲一级片在线观看 | 香蕉视频4aa| 五月婷婷丁香色 | 国产精品 亚洲精品 | 国产精品中文在线 | 亚洲经典在线 | 天天天综合 | 婷婷开心久久网 | 久久www免费人成看片高清 | 国产馆在线播放 | 国内精品久久久久久久影视简单 | 日本黄色大片免费 | 97综合在线 | 国产成人一区二区三区在线观看 | 国产aaa大片| 日韩成人精品一区二区 | 国产中文字幕视频在线观看 | 丰满少妇久久久 | 欧美精品久久久久性色 | 久久人人97超碰com | 免费福利在线 | 日韩精品在线播放 | 久久黄色美女 | 日韩视频免费观看高清完整版在线 | 日日夜夜精品网站 | 日韩免费电影网 | 久久一线 | 永久免费av在线播放 | 亚洲精品久久在线 | 欧美俄罗斯性视频 | 天天操天天射天天插 | 国产人在线成免费视频 | 亚洲国产资源 | 91chinesexxx| av成人资源 | 成人午夜影院 | 日操操 | 午夜婷婷网 | 91网址在线| 婷婷在线不卡 | 成人午夜影院在线观看 | 久久成人午夜 | 中文在线字幕观看电影 | 在线免费av网 |