精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SQL Server死鎖問題的解決與分析

數(shù)據(jù)庫 SQL Server
以下的文章主要描述的是分析與正確解決SQL Server死鎖問題,以及在對SQL Server死鎖問題進行解決時我們大家應(yīng)注意的事項的描述。

此文章主要向大家講述的之分析與正確解決SQL Server死鎖問題,SQL Server數(shù)據(jù)庫死鎖,通俗的講就是兩個或多個trans,同時請求對方正在請求的某個實際應(yīng)用對象,而導(dǎo)致雙方互相等待。簡單的例子如下:

 

  1. trans1 trans2  
  2. IDBConnection.BeginTransaction IDBConnection.BeginTransaction  
  3. update table A 2.update table B  
  4. update table B 3.update table A  
  5. IDBConnection.Commit 4.IDBConnection.Commit 

 

 

那么,很容易看到,如果trans1和trans2,分別到達了step3,那么trans1會請求對于B的X鎖,trans2會請求對于A的X鎖,而二者的鎖在step2上已經(jīng)被對方分別持有了。由于得不到鎖,后面的Commit無法執(zhí)行,這樣雙方開始死鎖。

 

好,我們看一個簡單的例子,來解釋一下,應(yīng)該如何解決死鎖問題。

 

 

  1. -- Batch #1  
  2. CREATE DATABASE deadlocktest  
  3. GO  
  4. USE deadlocktest  
  5. SET NOCOUNT ON  
  6. DBCC TRACEON (1222, -1) 

 

 

在SQL2005中,增加了一個新的dbcc參數(shù),就是1222,原來在2000下,我們知道,可以執(zhí)行dbcc

 

traceon(1204,3605,-1)看到所有的SQL Server死鎖信息。SqlServer 2005中,對于1204進行了增強,這就是1222。

 

 

  1. GO   
  2. IF OBJECT_ID ('t1') IS NOT NULL DROP TABLE t1  
  3. IF OBJECT_ID ('p1') IS NOT NULL DROP PROC p1  
  4. IF OBJECT_ID ('p2') IS NOT NULL DROP PROC p2  
  5. GO  
  6. CREATE TABLE t1 (c1 int, c2 int, c3 int, c4 char(5000))  
  7. GO  
  8. DECLARE @x int  
  9. SET @x = 1 
  10. WHILE (@x <= 1000) BEGIN  
  11. INSERT INTO t1 VALUES (@x*2, @x*2, @x*2, @x*2)  
  12. SET @x = @x + 1  
  13. END  
  14. GO  
  15. CREATE CLUSTERED INDEX cidx ON t1 (c1)  
  16. CREATE NONCLUSTERED INDEX idx1 ON t1 (c2)  
  17. GO  
  18. CREATE PROC p1 @p1 int AS SELECT c2, c3 FROM t1 WHERE c2 BETWEEN @p1 AND @p1+1  
  19. GO  
  20. CREATE PROC p2 @p1 int AS  
  21. UPDATE t1 SET c2c2 = c2+1 WHERE c1 = @p1  
  22. UPDATE t1 SET c2c2 = c2-1 WHERE c1 = @p1  
  23. GO 

 

 

上述sql創(chuàng)建一個deadlock的示范數(shù)據(jù)庫,插入了1000條數(shù)據(jù),并在表t1上建立了c1列的聚集索引,和c2列的非聚集索引。另外創(chuàng)建了兩個sp,分別是從t1中select數(shù)據(jù)和update數(shù)據(jù)。

 

好,打開一個新的查詢窗口,我們開始執(zhí)行下面的query:

 

 

  1. -- Batch #2  
  2. USE deadlocktest  
  3. SET NOCOUNT ON  
  4. WHILE (11=1) EXEC p2 4  
  5. GO 

 

 

開始執(zhí)行后,然后我們打開第三個查詢窗口,執(zhí)行下面的query:

 

 

  1. -- Batch #3  
  2. USE deadlocktest  
  3. SET NOCOUNT ON  
  4. CREATE TABLE #t1 (c2 int, c3 int)  
  5. GO  
  6. WHILE (11=1) BEGIN  
  7. INSERT INTO #t1 EXEC p1 4  
  8. TRUNCATE TABLE #t1  
  9. END  
  10. GO 

 

 

開始執(zhí)行,哈哈,很快,我們看到了這樣的錯誤信息:

 

 

  1. Msg 1205, Level 13, State 51, Procedure p1, Line 4  
  2. Transaction (Process ID 54) was deadlocked on lock resources with another  
  3.  process and has been chosen as the deadlock victim. Rerun the transaction. 

 

 

spid54發(fā)現(xiàn)了SQL Server死鎖。

 

那么,我們該如何解決它?

 

在SqlServer 2005中,我們可以這么做:

 

1.在trans3的窗口中,選擇EXEC p1 4,然后right click,看到了菜單了嗎?選擇Analyse Query in Database Engine Tuning Advisor。

 

2.注意右面的窗口中,wordload有三個選擇:負載文件、表、查詢語句,因為我們選擇了查詢語句的方式,所以就不需要修改這個radio option了。

 

3.點左上角的Start Analysis按鈕

 

4.抽根煙,回來后看結(jié)果吧!出現(xiàn)了一個分析結(jié)果窗口,其中,在Index Recommendations中,我們發(fā)現(xiàn)了一條信息:大意是,在表t1上增加一個非聚集索引索引:t2+t1。

 

5.在當(dāng)前窗口的上方菜單上,選擇Action菜單,選擇Apply Recommendations,系統(tǒng)會自動創(chuàng)建這個索引。

 

重新運行batch #3,呵呵,死鎖沒有了。

 

這種方式,我們可以解決大部分的Sql Server死鎖問題。那么,發(fā)生這個死鎖的根本原因是什么呢?為什么增加一個non clustered index,問題就解決了呢?

 

這次,我們分析一下,為什么會SQL Server死鎖呢?再回顧一下兩個sp的寫法:

 

 

  1. CREATE PROC p1 @p1 int AS   
  2. SELECT c2, c3 FROM t1 WHERE c2 BETWEEN @p1 AND @p1+1  
  3. GO  
  4. CREATE PROC p2 @p1 int AS  
  5. UPDATE t1 SET c2c2 = c2+1 WHERE c1 = @p1  
  6. UPDATE t1 SET c2c2 = c2-1 WHERE c1 = @p1  
  7. GO 

 

 

很奇怪吧!p1沒有insert,沒有delete,沒有update,只是一個select,p2才是update。這個和我們前面說過的,trans1里面updata A,update B;trans2里面upate B,update A,根本不貼邊啊!

 

那么,什么導(dǎo)致了死鎖?

 

需要從事件日志中,看sql的死鎖信息:

 

 

  1. Spid X is running this query (line 2 of proc [p1], inputbuffer “… EXEC p1 4 …”):   
  2. SELECT c2, c3 FROM t1 WHERE c2 BETWEEN @p1 AND @p1+1  
  3. Spid Y is running this query (line 2 of proc [p2], inputbuffer “EXEC p2 4”):   
  4. UPDATE t1 SET c2c2 = c2+1 WHERE c1 = @p1  
  5. The SELECT is waiting for a Shared KEY lock on index t1.cidx. The UPDATE holds a conflicting X lock.   
  6. The UPDATE is waiting for an eXclusive KEY lock on index t1.idx1. The SELECT holds a conflicting S lock. 

 

 

首先,我們看看p1的執(zhí)行計劃。怎么看呢?可以執(zhí)行set statistics profile on,這句就可以了。下面是p1的執(zhí)行計劃

 

 

  1. SELECT c2, c3 FROM t1 WHERE c2 BETWEEN @p1 AND @p1+1  
  2. |--Nested Loops(Inner Join, OUTER REFERENCES:([Uniq1002], [t1].[c1]))  
  3. |--Index Seek(OBJECT:([t1].[idx1]), SEEK:([t1].[c2] >= [@p1] AND [t1].[c2] <= [@p1]+(1)) ORDERED FORWARD)  
  4. |--Clustered Index Seek(OBJECT:([t1].[cidx]), SEEK:([t1].[c1]=[t1].[c1] AND [Uniq1002]=[Uniq1002]) LOOKUP ORDERED FORWARD) 

 

 

我們看到了一個nested loops,第一行,利用索引t1.c2來進行seek,seek出來的那個rowid,在第二行中,用來通過聚集索引來查找整行的數(shù)據(jù)。這是什么?就是bookmark lookup啊!為什么?因為我們需要的c2、c3不能完全的被索引t1.c1帶出來,所以需要書簽查找。

 

好,我們接著看p2的執(zhí)行計劃。

 

 

  1. UPDATE t1 SET c2c2 = c2+1 WHERE c1 = @p1  
  2. |--Clustered Index Update(OBJECT:([t1].[cidx]), OBJECT:([t1].[idx1]), SET:([t1].[c2] = [Expr1004]))  
  3. |--Compute Scalar(DEFINE:([Expr1013]=[Expr1013]))  
  4. |--Compute Scalar(DEFINE:([Expr1004]=[t1].[c2]+(1), [Expr1013]=CASE WHEN CASE WHEN ...  
  5. |--Top(ROWCOUNT est 0)  
  6. |--Clustered Index Seek(OBJECT:([t1].[cidx]), SEEK:([t1].[c1]=[@p1]) ORDERED FORWARD) 

 

 

通過聚集索引的seek找到了一行,然后開始更新。這里注意的是,update的時候,它會申請一個針對clustered index的X鎖的。

 

實際上到這里,我們就明白了為什么update會對select產(chǎn)生SQL Server死鎖。update的時候,會申請一個針對clustered index的X鎖,這樣就阻塞住了(注意,不是死鎖!)select里面最后的那個clustered index seek。

死鎖的另一半在哪里呢?注意我們的select語句,c2存在于索引idx1中,c1是一個聚集索引cidx。問題就在這里!我們在p2中更新了c2這個值,所以sqlserver會自動更新包含c2列的非聚集索引:idx1。而idx1在哪里?就在我們剛才的select語句中。而對這個索引列的更改,意味著索引集合的某個行或者某些行,需要重新排列,而重新排列,需要一個X鎖。

 

SO………,問題就這樣被發(fā)現(xiàn)了。

 

總結(jié)一下,就是說,某個query使用非聚集索引來select數(shù)據(jù),那么它會在非聚集索引上持有一個S鎖。當(dāng)有一些select的列不在該索引上,它需要根據(jù)rowid找到對應(yīng)的聚集索引的那行,然后找到其他數(shù)據(jù)。

而此時,第二個的查詢中,update正在聚集索引上忙乎:定位、加鎖、修改等。但因為正在修改的某個列,是另外一個非聚集索引的某個列,所以此時,它需要同時更改那個非聚集索引的信息,這就需要在那個非聚集索引上,加第二個X鎖。select開始等待update的X鎖,update開始等待select的S鎖,死鎖,就這樣發(fā)生鳥。

 

那么,為什么我們增加了一個非聚集索引,死鎖就消失鳥?我們看一下,按照上文中自動增加的索引之后的執(zhí)行計劃:

 

 

  1. SELECT c2, c3 FROM t1 WHERE c2 BETWEEN @p1 AND @p1+1  
  2. |--Index Seek(OBJECT:([deadlocktest].[dbo].[t1].
    [_dta_index_t1_7_2073058421__K2_K1_3]), SEEK:([deadlocktest].[dbo].[t1].[c2]
     
    >= [@p1] AND [deadlocktest].[dbo].[t1].[c2] <= [@p1]+(1)) ORDERED FORWARD) 

 

 

哦,對于clustered index的需求沒有了,因為增加的覆蓋索引已經(jīng)足夠把所有的信息都select出來。就這么簡單。

 

實際上,在sqlserver 2005中,如果用profiler來抓eventid:1222,那么會出現(xiàn)一個死鎖的圖,很直觀的說。

 

下面的方法,有助于將死鎖減至最少(詳細情況,請看SQLServer聯(lián)機幫助,搜索:將SQL Server死鎖減至最少即可。

 

按同一順序訪問對象。

 

避免事務(wù)中的用戶交互。

 

保持事務(wù)簡短并處于一個批處理中。

 

使用較低的隔離級別。

 

使用基于行版本控制的隔離級別。

 

將 READ_COMMITTED_SNAPSHOT 數(shù)據(jù)庫選項設(shè)置為 ON,使得已提交讀事務(wù)使用行版本控制。

 

使用快照隔離。

 

使用綁定連接。

 

【編輯推薦】

  1. SQL Server 分布式數(shù)據(jù)庫的2種不同系統(tǒng)
  2. 造成SQL Server查詢速度慢的10種原因
  3. 造成SQL Server查詢速度慢的原因與優(yōu)化
  4. 三種SQL Server 恢復(fù)模式的比較
  5. 對SQL Server 2008的商業(yè)智能的解析

 

責(zé)任編輯:佚名 來源: 比特網(wǎng)
相關(guān)推薦

2010-07-07 13:58:25

SQL Server死

2010-07-06 10:08:57

SQL Server

2010-07-02 10:53:32

SQL Server死

2010-07-20 10:27:57

SQL Server

2021-03-26 10:40:16

MySQL鎖等待死鎖

2010-11-09 17:04:20

SQL Server死

2011-08-18 18:46:24

SQL Server

2010-11-09 17:02:43

SQL Server死

2011-04-02 17:08:44

SQL Server死鎖

2010-09-14 15:34:29

sql server死

2010-01-18 10:48:16

SQL Server

2010-11-09 17:09:23

SQL Server中

2021-06-08 08:38:36

MySQL數(shù)據(jù)庫死鎖問題

2011-08-24 17:41:16

MySQL死鎖

2010-07-26 14:09:32

SQL Server

2014-03-17 10:34:48

SQL Server

2010-06-29 17:04:37

SQL Server警

2010-11-09 16:29:39

SQL Server死

2010-11-09 16:37:25

Sql server死

2010-11-09 16:20:46

SQL Server死
點贊
收藏

51CTO技術(shù)棧公眾號

日韩成人dvd| 国产一区二区三区天码| 五月婷婷久久综合| 日本亚洲导航| www日本在线| 亚洲一区成人| 久久久国产视频91| 亚洲中文字幕无码一区| 成人免费毛片嘿嘿连载视频…| 亚洲欧洲日产国产综合网| 国产欧美一区二区在线播放| wwwwww在线观看| 欧美+亚洲+精品+三区| 亚洲男人av电影| 18禁一区二区三区| 国产成人精品一区二区三区在线| 亚洲一区二区三区国产| 亚洲精品国产精品国自产观看| 亚洲第一色视频| 老司机一区二区| 97久久伊人激情网| 波多野结衣亚洲一区二区| 一本久久青青| 亚洲成人网av| www.欧美激情.com| 日本欧美韩国| 精品久久久久久久久久国产| 妞干网这里只有精品| 国产51人人成人人人人爽色哟哟| 成人性生交大片免费看中文网站| 国产精品视频精品| 亚洲熟妇无码乱子av电影| 欧美精品国产一区| 中文字幕精品av| a毛片毛片av永久免费| 亚洲91网站| 欧美一二三区在线观看| 日韩不卡一二三| 日韩免费电影| 狠狠躁天天躁日日躁欧美| 国产精品igao激情视频| 美女国产在线| 最新欧美精品一区二区三区| 亚洲精品一区二区三区四区五区| 国产一区精品| 久久久不卡网国产精品一区| 久久精品国产美女| 天天操天天操天天操| 国产成人av在线影院| 亚洲www在线观看| 91久久精品国产91性色69| 免费人成在线不卡| 国产精品国产自产拍高清av水多| 在线观看免费av片| 香蕉久久久久久久av网站| 97香蕉超级碰碰久久免费软件 | 亚洲精品视频免费看| 一区二区高清视频| 美女av在线播放| 亚洲欧美国产三级| 日本成人在线不卡| 青春草视频在线| 亚洲大片在线观看| 久久久久久久午夜| 成人美女大片| 欧美主播一区二区三区美女| 天天碰免费视频| 欧美日韩尤物久久| 欧美区在线观看| 亚洲一二三av| 成人午夜大片| 日韩精品极品毛片系列视频| 一区二区三区伦理片| 欧美影院三区| 九九热精品视频国产| 国产精品99精品无码视| 午夜在线播放视频欧美| 国产精品视频男人的天堂| 国产精品一区二区人人爽| 国产精品香蕉一区二区三区| 精品在线一区| jizzjizz在线观看| **网站欧美大片在线观看| 欧美日韩国产在线播放| 成人在线免费视频观看| 久久a爱视频| 免费成人在线观看| 欧美一区二区三区在线观看| 91精产国品一二三产区别沈先生| 欧美一级片网址| 亚洲黄色在线看| 亚洲午夜久久久久久久国产| 亚洲va在线| 26uuu亚洲伊人春色| 中文字幕永久免费视频| 成人午夜免费视频| 色播亚洲婷婷| 成人性生交大片免费看网站| 色狠狠av一区二区三区| 可以看的av网址| 久久不卡国产精品一区二区| 欧美成人午夜剧场免费观看| jizz国产在线观看| 国产精品一区二区在线看| 免费国产一区二区| 99视频免费在线观看| 一本到一区二区三区| 色男人天堂av| 欧美日韩色图| 91chinesevideo永久地址| 国产又粗又猛又爽又黄的| 久久婷婷久久一区二区三区| 91制片厂免费观看| 欧美电影免费观看| 欧美精品一区二区三| 内射一区二区三区| 视频一区二区三区在线| 国产精品美女久久久久av福利| 四虎国产精品免费| 国产一区一一区高清不卡| 日韩午夜在线观看| 国产精品无码无卡无需播放器| 伊人久久婷婷| 91黄在线观看| 日本韩国在线视频爽| 色哟哟国产精品| av网页在线观看| 国内精品美女在线观看| 国产综合视频在线观看| av在线女优影院| 日本一区二区免费在线| 免费人成精品欧美精品| 欧美视频二区欧美影视| 成人三级高清视频在线看| 免费理论片在线观看播放老| 在线免费观看日韩视频| 国产大片中文字幕| 潮喷失禁大喷水aⅴ无码| 五月天激情视频在线观看| 波多野结衣 在线| 国内精品久久久久久99蜜桃| 97视频在线观看视频免费视频| 国产a级免费视频| 综合久久国产九一剧情麻豆| 另类小说色综合| 精品视频亚洲| 国产精品电影在线观看| 蜜芽tv福利在线视频| 精品国产成人av| 黑丝av在线播放| 一本久久综合| 麻豆av一区二区| 蜜臀国产一区| 在线观看欧美成人| 日本三级一区二区三区| 日本一区二区三区在线不卡| 超碰影院在线观看| 精品一区二区三| 国产在线精品一区免费香蕉| 免费在线观看黄色| 日韩一区二区三区av| 波多野结衣亚洲色图| 神马久久久久久久久久久| 日韩成人一区| 日韩一区二区三区在线播放| 亚洲一区 中文字幕| 国产精品福利在线播放| 欧美性受xxxxxx黑人xyx性爽| 久久影院一区| 亚洲综合av影视| 青青青草视频在线| 91精品影视| 亚洲精彩视频| 久久久久久久久国产| 日韩有码第一页| 欧美日韩亚洲激情| 97中文在线| 天天影视久久综合| 欧美一级二级在线观看| 中文字幕在线观看免费视频| 久久精品亚洲麻豆av一区二区| jizz欧美性11| 午夜福利三级理论电影| 日韩私人影院| 欧美在线视频不卡| 欧美在线视频第一页| 成人久久久精品乱码一区二区三区| 亚洲熟妇无码一区二区三区导航| 久久av中文| 国产日韩欧美在线看| 污视频免费在线观看| 亚洲免费一在线| 一区二区三区日| 亚洲国产视频一区| 成年人在线免费看片| 国产黄色成人av| 激情六月丁香婷婷| 欧美一区高清| 日韩av一级大片| 一级毛片精品毛片| 国产成人在线播放| 成人影音在线| 日韩视频精品在线| 日产精品久久久久久久性色| 91精品欧美一区二区三区综合在 | 久久97久久97精品免视看秋霞| 国产精品麻豆va在线播放| 免费在线播放电影| 色偷偷噜噜噜亚洲男人| 天天在线女人的天堂视频| 欧美一区二区三区在线观看 | 亚洲高清免费观看高清完整版| 中文字幕在线观看国产| 精品福利在线观看| 久草视频在线资源站| 国产精品美女久久久久av爽李琼 | 日韩a级大片| 亚洲字幕在线观看| 欧美日韩免费电影| 日韩**中文字幕毛片| 男女视频在线| 欧美成人亚洲成人| 欧美黑人激情| 伊人精品在线观看| 欧美午夜黄色| 精品国产伦一区二区三区观看方式 | 日本动漫同人动漫在线观看| 色青青草原桃花久久综合| 久久久久国产精品嫩草影院| 精品88久久久久88久久久| 国产绿帽刺激高潮对白| 欧美日韩国产影片| 色婷婷久久综合中文久久蜜桃av| 欧美性猛交xxxx富婆弯腰| xxxxxx国产| 一区二区三区久久久| 国产女人18水真多毛片18精品| 国产精品免费网站在线观看| 一级黄色录像毛片| 国产女人18毛片水真多成人如厕 | 成人精品福利视频| av亚洲一区| 国产精品视频26uuu| 成人1区2区| 国产欧美精品在线播放| 国产亚洲人成a在线v网站| 国产精品女主播| 欧美aaaaaa| 国产人妖伪娘一区91| 亚洲欧美在线综合| 成人性教育视频在线观看| 日韩一级视频| 国产欧美在线播放| 在线高清欧美| 91在线免费看片| 国产91精品入| 欧美日韩国产精品一卡| 欧美视频网址| 中文字幕剧情在线观看一区| 五月久久久综合一区二区小说| www.-级毛片线天内射视视| 欧美在线三级| 男人添女人下面高潮视频| 久久黄色网页| 国产乱女淫av麻豆国产| 国产乱码精品一区二区三区五月婷 | 亚洲人成网7777777国产| 成人精品福利| 久久影院资源网| av漫画网站在线观看| 亚洲国产精品精华液网站| 国产精品入口免费视| 蜜桃视频www网站在线观看| 日韩免费av在线| 亚瑟国产精品| av在线不卡一区| 国产欧美日韩在线观看视频| 亚洲一区综合| 亚洲人成人一区二区三区| 激情视频综合网| 国内精品免费**视频| 又黄又爽的网站| 日本一区二区视频在线| 免费人成视频在线| 欧美丝袜第一区| 91麻豆成人精品国产免费网站| 精品美女一区二区| 国产三级视频在线看| 欧美精品日韩三级| 中文字幕人成乱码在线观看| 91精品久久久久久久久青青| 亚洲国产精品免费视频| 欧美一区少妇| 欧美午夜a级限制福利片| 男人天堂成人在线| 国产一区91精品张津瑜| 极品人妻一区二区三区| 亚洲免费高清视频在线| 久久久久女人精品毛片九一| 欧美一区二区高清| 黄网站在线观看| 欧美激情视频一区| 久久精品资源| 老司机精品福利在线观看| 亚洲一级淫片| 国产超碰在线播放| av在线综合网| 男人操女人的视频网站| 在线观看日产精品| 天天综合天天综合| 蜜臀久久99精品久久久久久宅男 | 成人自拍爱视频| 日韩欧美精品一区| 虎白女粉嫩尤物福利视频| 风间由美性色一区二区三区 | 男人天堂资源在线| 欧美激情欧美激情在线五月| 国产精品色婷婷在线观看| 日韩免费电影一区二区三区| 国产亚洲一级| 日本人添下边视频免费| 亚洲视频精选在线| 中文字幕乱码视频| 亚洲视频在线免费观看| www.成人爱| 精品无人区一区二区三区| 欧美激情无毛| 性色av浪潮av| 亚洲色图视频免费播放| 一级黄色免费看| 中文字幕日韩电影| 国产v综合v| 欧美色欧美亚洲另类七区| 在线成人h网| 五月天丁香社区| 亚洲高清免费视频| 蜜桃视频久久一区免费观看入口| 久久99国产综合精品女同| 激情五月综合婷婷| 中文字幕乱码免费| 国产东北露脸精品视频| 永久久久久久久| 欧美一卡2卡三卡4卡5免费| 国产原创精品视频| 91在线中文字幕| 欧美激情综合色综合啪啪| 国产精品久久久久野外| 一区二区三区美女视频| 国产91麻豆视频| 国产69精品久久久| 任我爽精品视频在线播放| 国产aaa一级片| 久久九九久久九九| 中文字幕在线一| 久久这里只有精品99| 日韩激情精品| 国产乱子伦农村叉叉叉| 久久综合色天天久久综合图片| 日本高清不卡码| 综合网中文字幕| 国产精品亚洲欧美日韩一区在线 | 日精品一区二区| 少妇愉情理伦三级| 91麻豆精品91久久久久同性| 中文字幕免费高清电视剧网站在线观看| 3d蒂法精品啪啪一区二区免费| 欧美激情aⅴ一区二区三区| 色综合久久五月| 欧美在线一二三四区| 国产超级va在线视频| 国产欧美一区二区三区另类精品| 老牛国产精品一区的观看方式| 国产又粗又硬视频| 日韩情涩欧美日韩视频| 国产高清中文字幕在线| 少妇精品久久久久久久久久| 国产一区二区精品久久91| 久久国产视频播放| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 最近中文字幕一区二区三区| 蜜桃视频污在线观看| 国产精品88a∨| 欧美日韩成人| 欧美 日韩 国产 成人 在线观看 | 成人精品999| 91精品在线免费观看| 色戒汤唯在线观看| 中文字幕久久一区| xf在线a精品一区二区视频网站| 影音先锋黄色网址| 欧美二区在线播放| 国产亚洲第一伦理第一区| 久久黄色一级视频| 色94色欧美sute亚洲线路一久| 国产黄色小视频在线| 久久久久久久久久码影片| 国产乱码精品一区二区三区av | 国产精品一香蕉国产线看观看| 一个色综合网| 亚洲av无码一区二区二三区|