精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

国产欧美一区在线| 丝瓜av网站精品一区二区| 亚洲视频香蕉人妖| 国产精品免费一区二区三区都可以| 色男人天堂av| 蜜桃av.网站在线观看| 国产亚洲综合性久久久影院| 91九色蝌蚪国产| 日韩精品一区二区三| 欧美在线电影| 亚洲精品一区二区三区影院 | 中文字幕中文字幕一区三区| 精品久久久中文字幕人妻| 国产精品日本| 久久亚洲精品视频| www.99r| 国产在线精彩视频| www久久久久| 亚洲精品日产aⅴ| 国产主播第一页| 在线成人国产| 欧美成人自拍视频| 超碰97av在线| 亚洲欧美日本伦理| 在线国产亚洲欧美| 国产精品专区在线| av色综合久久天堂av色综合在| 国产精品12区| 国产欧美日韩精品丝袜高跟鞋| 来吧亚洲综合网| 日韩啪啪网站| 精品国产一区二区三区四区四 | 亚洲欧美日本一区| 91精品视频一区二区| 日本精品一级二级| 99色精品视频| 美女网站视频在线| 一区二区三区不卡视频在线观看| 成人片在线免费看| 国产后入清纯学生妹| 免费看欧美女人艹b| 国产97人人超碰caoprom| 日韩 欧美 综合| 亚洲精选一区| 97在线观看免费| 国产在线观看成人| 欧美先锋资源| 国产亚洲精品综合一区91| www.国产福利| 国产一区二区三区黄网站| 午夜电影久久久| 视频在线精品一区| 国产综合在线观看| 国产成人精品亚洲日本在线桃色| 日本高清不卡的在线| 少妇一级淫片免费放中国 | 99热一区二区三区| 在线观看麻豆蜜桃| 国产精品久久精品日日| 亚洲午夜高清视频| 久久精品视频观看| 亚洲精品日韩综合观看成人91| 久久99久久99精品蜜柚传媒| ,亚洲人成毛片在线播放| 美女www一区二区| 91精品国产乱码久久久久久久久 | 久久久精品高清| 24小时成人在线视频| 欧美精品粉嫩高潮一区二区| 国产97在线 | 亚洲| 波多野结衣在线网站| 中文字幕精品三区| 桥本有菜av在线| 日本在线播放不卡| 久久成人国产精品入口| 亚洲一区二区三区| 欧美精品www| 国产精品视频免费播放| 香蕉视频成人在线观看| 日本道色综合久久影院| 中文字幕91爱爱| 国产成人综合精品三级| 精品欧美一区二区久久久伦| 国产美女视频一区二区三区| 一区二区中文视频| 久久这里只有精品23| 欧美亚洲大片| 精品久久一区二区三区| 中文字幕一二三四区| 婷婷综合网站| 2021国产精品视频| 极品久久久久久| 精品动漫3d一区二区三区免费| 久久成人免费视频| 天海翼在线视频| 在线观看日韩av电影| 久久久久久中文字幕| 国产一级片av| 国产成人综合亚洲网站| 欧美久久久久久久| 欧美日韩在线中文字幕| 亚洲色图欧美偷拍| 久久久久久久久久久久久国产精品 | 欧美国产日韩电影| 欧美xxxx老人做受| 国产毛片欧美毛片久久久| 欧美日韩国产成人精品| 国产精品成人国产乱一区| 亚洲国产999| 国产精品久久久久久久久免费桃花| 亚洲国产一区在线| 99thz桃花论族在线播放| 欧美日本精品一区二区三区| 欧美丰满少妇人妻精品| 在线电影一区二区| 国产精品久久久久久久久久免费| 亚洲免费视频二区| 99久久精品国产导航| 天堂v在线视频| 亚州一区二区三区| 亚洲欧美日韩中文在线制服| 青青青视频在线免费观看| 99国产精品视频免费观看一公开 | 青青草综合在线| 99re久久| 日韩欧美一二区| 18精品爽国产三级网站| 羞羞视频在线观看欧美| 国产乱人伦精品一区二区| 国产黄色小视频在线| 欧美日韩亚洲综合一区二区三区| 国产伦精品一区二区三区妓女下载| 一区二区日韩| 另类色图亚洲色图| 日韩大片免费在线观看| 三级欧美韩日大片在线看| 国产手机精品在线| 不卡视频观看| 亚洲国产福利在线| 国产精彩视频在线观看| 成人免费观看男女羞羞视频| 亚洲熟妇无码av在线播放| 精品国产伦一区二区三区观看说明 | 亚洲女人在线观看| 天天做天天爱天天爽综合网| 国产日产欧美精品| 欧美成人三区| 3d动漫精品啪啪一区二区竹菊 | 国产激情在线观看视频| 同性恋视频一区| 青青精品视频播放| 黄色片视频在线观看| 91久久精品一区二区| 亚洲综合色一区| 三级成人在线视频| 宅男av一区二区三区| 中文字幕日韩亚洲| 九九热精品在线| 国产综合无码一区二区色蜜蜜| 中文在线一区二区| 国产69精品久久久久久久| 欧美黄色成人| 久久国产精品视频| 国产综合无码一区二区色蜜蜜| 国产精品美女久久久久久久久久久 | 91在线高清视频| 羞羞污视频在线观看| 欧美性感一类影片在线播放| 五月婷婷六月香| 国产在线日韩欧美| 日韩一区二区高清视频| 五月激激激综合网色播| 国产精品视频地址| 日本小视频在线免费观看| 日韩精品在线免费| 亚洲天堂网在线观看视频| 亚洲视频一二区| 国产又黄又粗又猛又爽的视频| 欧美精品国产一区二区| 国内精品久久国产| 成人四虎影院| 九九热这里只有在线精品视| 午夜视频福利在线观看| 欧美日韩一区二区欧美激情| 亚洲熟女www一区二区三区| 99久久精品免费观看| 日本在线观看免费视频| 韩日在线一区| 韩国国内大量揄拍精品视频| 一级性生活大片| 亚洲专区免费| 国产日韩欧美大片| 日韩有码av| 亚洲综合日韩在线| 91成人高清| 欧美大片一区二区三区| 99re这里只有精品在线| 亚洲免费资源在线播放| 亚洲成人一区在线| 91精品人妻一区二区三区四区| 97国产精品| 国产欧美日韩亚洲| 亚洲一区二区小说| 欧洲成人在线观看| 色呦呦在线视频| 综合网中文字幕| 91久久久久国产一区二区| 日本一区二区三区dvd视频在线| 黄色一级一级片| 国产精品www.| 一区二区视频在线观看| 日韩伦理一区二区三区| 3d动漫啪啪精品一区二区免费 | 久草免费福利在线| 日韩欧美午夜| 鲁鲁视频www一区二区| 香蕉成人app| 成人乱人伦精品视频在线观看| 亚洲第一图区| 日日噜噜噜夜夜爽亚洲精品| 你懂的好爽在线观看| 精品国产免费人成在线观看| 国产一区二区在线视频观看| 亚洲综合一二三区| 性欧美疯狂猛交69hd| 国产亚洲成av人在线观看导航| 一区二区三区 日韩| 免费中文字幕日韩欧美| 黄网站欧美内射| 伊人成人网在线看| 欧美一区二区视频在线播放| 99热在线成人| 中文字幕一区二区中文字幕| 欧美丝袜一区| 亚洲第一综合| 日韩精品免费一区二区在线观看| 成人资源视频网站免费| 亚洲成av人片在线观看www| 亚洲a级在线观看| 四虎影视成人精品国库在线观看| 国内精品久久久久影院 日本资源| 国产一区电影| 亚洲最新av在线网站| 国产免费av高清在线| 亚洲无线码在线一区观看| 黄色国产在线| 中文字幕日韩av| 日本最黄一级片免费在线| 在线中文字幕日韩| 午夜视频成人| 日韩av在线网页| 深夜福利视频在线免费观看| 亚洲激情自拍图| 丝袜视频国产在线播放| 在线播放中文字幕一区| 欧美国产成人精品一区二区三区| 亚洲视频在线一区| 91 在线视频| 亚洲黄色尤物视频| 国产一级特黄aaa大片| 精品国产户外野外| 69亚洲精品久久久蜜桃小说| 欧美色倩网站大全免费| 国产女人高潮毛片| 欧美精品一区二区在线播放| 四虎在线视频| 一区二区三区视频免费| 成人av黄色| 国内免费精品永久在线视频| 中文字幕 在线观看| 国产美女精品视频| 深夜激情久久| 成人精品视频99在线观看免费 | 韩国三级在线看| 麻豆精品国产91久久久久久| 欧美 日韩精品| 免费观看在线色综合| www.色.com| 91在线视频观看| 天堂网av2018| 香蕉av福利精品导航 | 夜夜操天天操亚洲| 800av免费在线观看| 欧美日韩在线播放三区四区| 高清国产mv在线观看| 在线视频欧美性高潮| 欧美黑人xx片| 国产精品高潮呻吟久久av黑人| 久久野战av| dy888夜精品国产专区| 国产成人一区| 亚洲精品中文字幕在线| 国产一区日韩一区| 国产毛片久久久久久国产毛片| 国产精品地址| 五月婷婷狠狠操| 成人蜜臀av电影| 国产免费美女视频| 亚洲美女在线一区| 天码人妻一区二区三区在线看| 色欧美片视频在线观看在线视频| 国产一级淫片a视频免费观看| 一本一本大道香蕉久在线精品| 蜜臀精品一区二区三区| 欧美一级理论片| porn视频在线观看| 欧美一级高清免费播放| 日韩最新av| 中文字幕日韩一区二区三区 | 欧美精品在线免费| 88xx成人免费观看视频库| 国产精品毛片一区视频| 91成人精品视频| av无码精品一区二区三区| 韩国av一区二区三区在线观看| 日韩欧美色视频| 国产日韩欧美在线一区| 四虎地址8848| 在线观看国产精品网站| 午夜18视频在线观看| 欧美日韩xxxxx| 亚洲性受xxx喷奶水| 国产精品二区三区四区| 欧美一区免费| 99精品视频国产| 日韩一区日韩二区| 一级特黄色大片| 国产一区二区三区精品久久久| av在线官网| 成人黄色在线播放| 久久精品国产www456c0m| 国产精彩视频一区二区| 国产精品正在播放| 国产黄在线免费观看| 在线成人小视频| 久久综合之合合综合久久| 成人黄色片在线| 伊人青青综合网| 韩国黄色一级片| 亚洲一区在线观看免费观看电影高清| 久久艹免费视频| 国产午夜精品麻豆| 综合久久2023| 欧美激情专区| 欧美在线网站| 性高潮久久久久久| 亚洲在线观看免费视频| 日本加勒比一区| 97成人超碰免| 曰本一区二区三区视频| 日本精品久久久久中文字幕| 久久久高清一区二区三区| 中文字幕av久久爽| www.日韩视频| 日本一区二区三区视频在线看| 日本高清久久一区二区三区| 日日夜夜精品视频免费| 粉嫩精品久久99综合一区| 欧美日韩电影在线播放| 三级在线观看| 国产91在线播放九色快色| 四虎成人精品永久免费av九九| 春日野结衣av| 欧美国产1区2区| 91麻豆成人精品国产| 伊人久久综合97精品| 欧美性生活一级| 精品成在人线av无码免费看| 久久综合中文字幕| 亚洲视频在线观看一区二区| 久久不射热爱视频精品| 国产精品对白| 成年人小视频网站| 亚洲女同一区二区| 性高潮久久久久久久久久| 国产精品三级美女白浆呻吟| 亚洲精品成人| 91精品国产自产| 欧美福利一区二区| 女人让男人操自己视频在线观看| 动漫3d精品一区二区三区| 香蕉久久夜色精品国产| 欧美第一页在线观看| 精品亚洲一区二区三区在线播放 | 国产在线观看无码免费视频| 欧美在线视频全部完| 欧美黑人猛交的在线视频| 日产国产精品精品a∨| 国产成人三级在线观看| 国产精品熟女视频| 欧美高清视频在线| 日韩国产一区二区三区| 欧亚乱熟女一区二区在线| 亚洲国产精品久久一线不卡| 男人天堂网在线视频| 国产精品自产拍在线观看中文| 国产精品99久久精品| 中文字幕亚洲乱码| 同产精品九九九| 国产黄在线看|