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

游標腳本性能問題詳解之游標分類特點篇

數(shù)據(jù)庫 SQL Server 數(shù)據(jù)庫運維
從上篇游標腳本性能問題詳解之案例實踐篇兩個腳本執(zhí)行情況的對比中可以看出,游標的選擇對語句執(zhí)行的性能具有一定的影響。下面我們來進行一定的比較分析,并學(xué)習(xí)如何使用各種游標。

從上篇游標腳本性能問題詳解之案例實踐篇兩個腳本執(zhí)行情況的對比中可以看出,游標的選擇對語句執(zhí)行的性能具有一定的影響。

在SQL Server聯(lián)機叢書上列出了不止十種游標類型,但是所有游標都可以被劃到兩大類別:

1. 通過從***得到結(jié)果的臨時拷貝映像靜態(tài)進行

2. 每次fetch都通過動態(tài)進行且真正查閱表

STATIC、KEYSET、READ_ONLY和FAST_FORWARD屬于***大類,F(xiàn)ORWARD_ONLY、DYNAMIC和OPTIMISTIC屬于第二大類。

下面我們來進行一定的比較分析,并學(xué)習(xí)如何使用各種游標。在進行這部分之前,我們要引入另一個set statistics的方法: set statistics profile on

這個option會幫助我們打印出文本格式的執(zhí)行計劃和每一布的執(zhí)行統(tǒng)計信息。這個部分的執(zhí)行語句執(zhí)行計劃都是通過這個option打印的。

1. 首先,我們把游標腳本中的SQL語句抽取出來直接運行而不使用游標:

  1. SELECT       T1.*  
  2. FROM         dbo.S_AUDIT_ITEM T1              
  3. LEFT OUTER JOIN dbo.S_USER T2   
  4. ON T1.USER_ID = T2.PAR_ROW_ID      
  5. WHERE   T1.BC_BASE_TBL = 'S_PARTY' AND   T1.RECORD_ID = '1-10350J' 
  6. ORDER BY       T1.OPERATION_DT DESC  

執(zhí)行情況如下:邏輯讀15次,使用的是索引查找(index seek)

  1. Table 'S_USER'. Scan count 1, logical reads 260, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.  
  2. Table 'S_AUDIT_ITEM'. Scan count 1, logical reads 15, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.  

執(zhí)行計劃為:

  1. Rows                 Executes             StmtText                                                                                                   
  2. -------------------- -------------------- ---------------------------------------------------------------------------------------------------------  
  3. 4                    1                    SELECT  T1.*  FROM  dbo.S_AUDIT_ITEM T1                                                                                                                     
  4. LEFT OUTER JOIN dbo.S_USER T2                                                                                                                        
  5. ON T1.USER_ID = T2.PAR_ROW_ID                                                                                                                        
  6. WHERE   T1.BC_BASE_TBL = 'S_PARTY' AND   T1.RECORD_ID = '1-10350J'                                                                                 ORDER BY  T1.OPERATION_DT DESC            1    1    0      NULL         NULL                     
  7. 4                    1                      |--Sort(ORDER BY:([T1].[OPERATION_DT] DESC))                                                             
  8. 4                    1                           |--Nested Loops(Left Outer Join, WHERE:([testcursor].[dbo].[S_AUDIT_ITEM].[USER_ID] as [T1].[USER_  
  9. 4                    1                                |--Nested Loops(Inner Join, OUTER REFERENCES:([Uniq1002], [T1].[ROW_ID]) OPTIMIZED)            
  10. 4                    1                                |  |--Index Seek(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_M3] AS [T1]), SEEK  
  11. 4                    4                                |  |--Clustered Index Seek(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_P1] AS [  
  12. 66908                4                                |--Table Scan(OBJECT:([testcursor].[dbo].[S_USER] AS [T2]))     

2. 下面通過T-SQL語句打開一個游標。注意,這里創(chuàng)建的游標為dynamic類型,因為新聲明的游標默認類型為dynamic。。本文開頭使用的存儲過程是調(diào)用API游標的寫法,這里是用T-SQL語句打開游標,兩種寫法使用的游標類型和執(zhí)行的語句是完全一樣的。

  1. declare @CONFLICT_ID int 
  2. declare curTest cursor 
  3.  
  4. FOR 
  5.     SELECT   
  6.        T1.CONFLICT_ID  
  7.     FROM         dbo.S_AUDIT_ITEM T1              
  8.     LEFT OUTER JOIN dbo.S_USER T2  
  9.     ON T1.USER_ID = T2.PAR_ROW_ID      
  10.     WHERE      T1.BC_BASE_TBL = 'S_PARTY' AND   T1.RECORD_ID ='1-10350J'     
  11.     ORDER BY       T1.OPERATION_DT    
  12.  
  13. OPEN curTest  
  14. FETCH NEXT FROM curTest   
  15. INTO @CONFLICT_ID  
  16. CLOSE curTest  
  17.  
  18. deallocate curTest 

執(zhí)行情況為:邏輯讀明顯增多,使用索引掃描(index scan)

  1. Table 'Worktable'. Scan count 0, logical reads 3, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.                 
  2. Table 'S_USER'. Scan count 1, logical reads 64, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.                   
  3. Table 'S_AUDIT_ITEM'. Scan count 1, logical reads 3026834, physical reads 1292, read-ahead reads 5574, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.  

執(zhí)行計劃如下:

  1. Rows                 Executes             StmtText                                                                                                                          
  2. -------------------- -------------------- --------------------------------------------------------------------------------------------------------------------------------  
  3. 1                    1                    FETCH NEXT FROM curTest                                                                                                           
  4. INTO @CONFLICT_ID                                                                                                                                                           
  5. 1                    1                      |--Clustered Index Insert(OBJECT:(CWT), SET:([CWT].[COLUMN0] = [testcursor].[dbo].[S_AUDIT_ITEM].[ROW_ID] as   
  6. 1                    1                           |--Compute Scalar(DEFINE:([Expr1008]=CWT_ROWID()))                                                                         
  7. 1                1                                |--Nested Loops(Left Outer Join, WHERE:([testcursor].[dbo].[S_AUDIT_ITEM].[USER_ID] as   
  8. 1                    1                                     |--Nested Loops(Inner Join, OUTER REFERENCES:([Uniq1004], [T1].[ROW_ID]))                                        
  9. 1007751              1                                     |    |--Index Scan(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_M4] AS     
  10. 1                    1007751                               |    |--Clustered Index Seek(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_P1] AS   
  11. 16401                1                                     |--Table Scan(OBJECT:([testcursor].[dbo].[S_USER] AS [T2]))  

接下來,我們使用其他類型的游標進行測試,從它們的測試結(jié)果會發(fā)現(xiàn):

當(dāng)使用STATIC、KEYSET、READ_ONLY、FAST_FORWARD類型的游標,可以得到理想的執(zhí)行計劃(索引S_AUDIT_ITEM_M3上使用索引查找)。

但是,如果使用其他第二類游標類型,得到的執(zhí)行計劃就不甚理想了(索引S_AUDIT_ITEM_M4上使用索引掃描)。

從上面的測試,我們知道STATIC、KEYSET、READ_ONLY及FAST_FORWARD游標可以帶給我們同樣的理想結(jié)果。那么,這些游標有什么共同點?

我們可以分析一下兩大游標類型執(zhí)行計劃的不同:

1. STATIC、KEYSET、READ_ONLY、FAST_FORWARD類型游標的執(zhí)行計劃:

  1. Executes             StmtText                                                                                                              
  2. -------------------- --------------------------------------------------------------------------------------------------------------------  
  3. 1                    OPEN curTest                                                                                                          
  4. 1                      |--Clustered Index Insert(OBJECT:(CWT), SET:([CWT].[COLUMN0] = [testcursor].[dbo].[S_AUDIT_ITEM].[CONFLICT_ID] as   
  5. 1                           |--Sequence Project(DEFINE:([Expr1008]=i4_row_number))                                                         
  6. 1                                |--Segment                                                                                                
  7. 1                                     |--Sort(ORDER BY:([T1].[OPERATION_DT] ASC))                                                          
  8. 1                                          |--Nested Loops(Left Outer Join, WHERE:([testcursor].[dbo].[S_AUDIT_ITEM].[USER_ID] as [T1].[U  
  9. 1                                               |--Nested Loops(Inner Join, OUTER REFERENCES:([Uniq1004], [T1].[ROW_ID]) OPTIMIZED)        
  10. 1                                               |    |--Index Seek(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_M3] AS [T1]),   
  11. 4                                               |    |--Clustered Index Seek(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_P1]   
  12. 4                                               |--Table Scan(OBJECT:([testcursor].[dbo].[S_USER] AS [T2]))                                
  13.                                                                                                       
  14. Executes             StmtText                                                                                        StmtId      NodeId    
  15. -------------------- ----------------------------------------------------------------------------------------------- ----------- --------  
  16. 1                    FETCH NEXT FROM curTest INTO @CONFLICT_ID                       2           1           
  17. 1                      |--Clustered Index Seek(OBJECT:(CWT), SEEK:([CWT].[ROWID]=FETCH_RANGE((0))) ORDERED FORWARD)  2           2         

2. dynamic類型游標的執(zhí)行計劃

  1. Executes   StmtText                                                                                                                      
  2. ---------------------------------------------------------------------------------------------------------------------------------------  
  3. 1          FETCH NEXT FROM curTest                                                                                                       
  4.                                                                                                                                          
  5. 1            |--Clustered Index Insert(OBJECT:(CWT), SET:([CWT].[COLUMN0] = [testcursor].[dbo].[S_AUDIT_ITEM].[ROW_ID] as [T1].[ROW_ID]  
  6. 1                 |--Compute Scalar(DEFINE:([Expr1008]=CWT_ROWID()))                                                                     
  7. 1                      |--Nested Loops(Left Outer Join, WHERE:([testcursor].[dbo].[S_AUDIT_ITEM].[USER_ID] as [T1].[USER_ID]=[testcurso  
  8. 1                           |--Nested Loops(Inner Join, OUTER REFERENCES:([Uniq1004], [T1].[ROW_ID]))                                    
  9. 1                           |    |--Index Scan(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_M4] AS [T1]), ORDERED BACKWARD)   
  10. 1007751                     |    |--Clustered Index Seek(OBJECT:([testcursor].[dbo].[S_AUDIT_ITEM].[S_AUDIT_ITEM_P1] AS [T1]), SEEK:([T  
  11. 1                           |--Table Scan(OBJECT:([testcursor].[dbo].[S_USER] AS [T2]))  

比較一下兩個執(zhí)行計劃的FETCH NEXT部分(SQL Server在游標打開階段不會讀取表):在***個執(zhí)行計劃中,F(xiàn)ETCH是直接從臨時對象CWT中得到行,然后從CWT.ROWID中找到相應(yīng)范圍。而在第二個計劃中,F(xiàn)ETCH是動態(tài)的而且是真正對表進行了讀取,從表中取得數(shù)據(jù)。
 

責(zé)任編輯:艾婧 來源: ITPUB
相關(guān)推薦

2011-04-06 08:54:38

游標腳本性能問題

2011-04-07 11:02:52

游標

2010-11-16 15:40:21

oracle游標

2011-04-19 15:38:16

MongodbCursor

2010-11-16 15:11:52

Oracle隱式游標

2010-11-16 15:23:28

Oracle游標

2010-08-03 12:58:29

DB2游標循環(huán)

2010-07-26 11:27:43

SQL Server打

2010-05-26 18:08:30

Linux性能監(jiān)控

2013-05-20 16:09:39

SQL Server

2010-07-23 18:33:57

SQL Server游

2021-11-17 08:11:35

MySQL

2010-09-26 13:51:48

SQL游標

2010-04-02 09:51:37

SQL Server

2019-10-16 00:37:36

Oracle數(shù)據(jù)庫游標數(shù)

2010-04-21 15:02:50

Oracle使用游標

2010-04-21 15:10:35

Oracle游標

2010-10-22 13:34:49

SQL Server游

2010-05-26 16:41:09

MySQL 游標

2022-05-11 15:06:02

MySQL游標SQL
點贊
收藏

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

欧洲成人午夜免费大片| 亚洲国产精品电影在线观看| 一区二区三区在线视频111| 亚洲无码精品在线播放| 亚洲国产一成人久久精品| 欧美电视剧在线看免费| 国产福利视频在线播放| 黄色网址在线免费播放| 99精品在线观看视频| 国产精品视频xxxx| 国产一级二级三级视频| 沈樵精品国产成av片| 欧美一级搡bbbb搡bbbb| 国产av无码专区亚洲精品| 欧美被日视频| 91丨porny丨首页| 成人午夜两性视频| 日韩欧美在线观看免费| 欧美精品三级| 一区二区欧美日韩视频| 国产精品偷伦视频免费观看了| 中文字幕在线免费观看视频| 亚洲精品国产无套在线观| 日本不卡在线播放| 神马久久久久久久久久| 紧缚奴在线一区二区三区| 51精品国产黑色丝袜高跟鞋 | 成人手机在线视频| 国产精品入口免费视| 国产性xxxx高清| 欧美一区二区三区久久精品| 亚洲性无码av在线| 国产制服丝袜在线| 亚洲成人偷拍| 91精品久久久久久久99蜜桃| 国产欧美高清在线| 高清毛片在线观看| 一区二区三区高清| 麻豆md0077饥渴少妇| 91亚洲精选| 国产欧美日韩另类一区| 久久综合入口| 五月婷婷六月丁香综合| 成人免费视频一区二区| 亚洲在线观看视频网站| 国产精品国产av| 久久97超碰色| 国产欧美精品一区二区| 亚洲天堂一二三| 男人的天堂久久精品| 国产成人精品久久二区二区| 国产又大又黄又粗| 母乳一区在线观看| 日本精品视频在线| 99久久久无码国产精品免费蜜柚| 久久综合影音| 国产成人一区二区| 欧美性受xxx黑人xyx性爽| 久久久久免费| 国产精品久久久久久超碰| 国产91精品看黄网站在线观看| 国产一区二区精品| 青草热久免费精品视频 | 九七久久人人| 亚洲美女在线一区| 国产又粗又长又爽视频| 在线观看的网站你懂的| 亚洲午夜成aⅴ人片| cao在线观看| 精精国产xxxx视频在线野外| 日韩欧美主播在线| 国产精品igao| 99久久这里有精品| 精品国产一区二区在线观看| 久久久久亚洲AV成人无码国产| 日韩理论电影中文字幕| 亚洲天堂av在线播放| 一本色道久久88| 亚洲精品国产首次亮相| 久久免费福利视频| 青青视频在线免费观看| 久久精品99国产精品| 91美女片黄在线观看游戏| www.黄色片| 97se亚洲国产综合自在线观| 日韩欧美99| 超鹏97在线| 欧美日韩午夜视频在线观看| 欧美日韩大尺度| 亚洲日本网址| 日韩欧美一级在线播放| 欧美bbbbb性bbbbb视频| 98精品久久久久久久| 国内精品免费午夜毛片| 一级黄色在线观看| 国产成人精品一区二| 久久综合给合久久狠狠色| 日本在线免费中文字幕| 亚洲精品中文字幕在线观看| 大肉大捧一进一出好爽视频| 日韩色性视频| 日韩成人高清在线| 国产美女网站视频| 国产亚洲毛片| 亚洲xxxx在线| 成人动漫在线免费观看| 又紧又大又爽精品一区二区| 青青在线视频免费| 亚洲一级大片| 中文字幕精品久久| 欧美三级韩国三级日本三斤在线观看| 另类的小说在线视频另类成人小视频在线 | 色呦呦在线播放| 91久久香蕉国产日韩欧美9色| 亚洲高清视频免费| 精品黄色一级片| 久久人人爽人人爽人人片av高清| 国产又黄又爽视频| 国产午夜精品福利| 很污的网站在线观看| 亚洲欧美在线综合| 国产香蕉精品视频一区二区三区 | 国产精品porn| 国产欧美日韩91| 午夜在线视频免费| 亚洲一二三区在线观看| 中文字幕日韩综合| 欧美三级情趣内衣| 欧美亚洲在线播放| 视频一区二区免费| 夜夜揉揉日日人人青青一国产精品| 国产探花在线看| 欧美理论视频| 欧美一区二区影院| 成人乱色短篇合集| 欧美黑人xxxx| www.97视频| 久久一区国产| 久久国产精品99久久久久久丝袜 | 国产成人亚洲精品青草天美| 色综合久久88色综合天天提莫| 九色porny丨入口在线| 欧美一级二级在线观看| 日韩精品一区二区亚洲av性色| 日本中文字幕一区二区视频| 欧美亚洲国产免费| 日韩伦理在线一区| 日韩不卡在线观看| 国产成人精品网| 97久久精品人人做人人爽| 久久艹国产精品| 国产成人在线中文字幕| 欧美大片在线影院| 亚洲av综合色区无码一区爱av | 亚洲欧美第一页| 精品国产免费观看| 久久综合色婷婷| 国产熟女高潮视频| 成人免费av| 国产日韩专区在线| 伦xxxx在线| 欧美一区二区三区在线电影| 真实国产乱子伦对白在线| 国产成人精品免费一区二区| 男人添女荫道口女人有什么感觉| 国产+成+人+亚洲欧洲在线| 久久久久久久久久婷婷| 头脑特工队2在线播放| 欧美性xxxxhd| 影音先锋男人看片资源| 国产在线精品不卡| 久久手机在线视频| 日韩欧美影院| 国产精品久久9| 黄在线免费观看| 精品国产99国产精品| 亚洲综合久久网| 亚洲国产岛国毛片在线| 男人女人拔萝卜视频| 日韩视频不卡| 五月天色一区| 日韩中文一区二区| 欧美自拍大量在线观看| eeuss影院www在线观看| 欧美美女一区二区三区| 久久久美女视频| 久久夜色精品国产噜噜av| 亚洲欧洲日本精品| 精品91视频| 日韩成人av网站| 秋霞一区二区| 清纯唯美日韩制服另类| 久久黄色美女电影| 亚洲激情久久久| 亚洲天堂男人网| 亚洲国产成人高清精品| 91精品国自产在线| 国产福利一区二区三区在线视频| 97在线播放视频| 亚洲91精品| 欧美一区二区三区四区五区六区| 国产精品久久久久久久久久辛辛 | 国产美女在线观看一区| 国产主播自拍av| 欧美gayvideo| 久久国产精品精品国产色婷婷| jvid一区二区三区| 97国产真实伦对白精彩视频8| 成人免费高清在线播放| 亚洲国产91色在线| 国产尤物在线观看| 日韩欧美成人精品| 成人观看免费视频| 国产精品久久久久aaaa| jizz欧美性20| 成人久久久精品乱码一区二区三区| 在线免费观看视频黄| 99日韩精品| 红桃一区二区三区| 日韩成人a**站| 欧美日韩国产综合在线| 久久精品凹凸全集| 99热在线播放| 四虎国产精品免费久久5151| 国产成人短视频| 日韩影院在线| 91精品国产高清久久久久久91| 久草免费在线观看| 最近2019中文字幕大全第二页| 亚欧在线观看视频| 亚洲成人精品在线| www.色播.com| 91精品在线一区二区| 中文字幕一区二区三区人妻四季| 精品久久香蕉国产线看观看亚洲 | 亚洲一区二区三区| 亚洲国产精品一区二区第四页av| 国产一区二区三区网| 欧美日韩在线观看一区| 牛牛影视久久网| 国产高清在线一区| eeuss鲁片一区二区三区| 91在线看网站| 综合中文字幕| 国产精品xxxx| 国产精品x8x8一区二区| 懂色中文一区二区三区在线视频| 成人在线分类| 91免费国产网站| 57pao成人永久免费| 国产原创欧美精品| av在线精品| 91九色综合久久| 玖玖精品一区| www日韩av| 高潮久久久久久久久久久久久久| 国产精品一区二区免费| 精品综合久久88少妇激情| 精品产品国产在线不卡| 日本一区福利在线| 蜜桃视频在线观看成人| 国产不卡av一区二区| 婷婷五月色综合| 国产精品99在线观看| 手机在线视频你懂的| 欧美在线免费一级片| 亚洲国产精品无码av| 亚洲国产1区| 免费无遮挡无码永久视频| 亚洲免费网址| 8x8x最新地址| 国产伦精品一区二区三区视频青涩 | 日本精品久久久久中文| 亚洲色图欧洲色图| 国产在线视频二区| 色诱亚洲精品久久久久久| 亚洲视频久久久| 日韩午夜小视频| 亚洲av成人精品毛片| 一区二区亚洲精品国产| 激情在线小视频| 777午夜精品福利在线观看| 日韩免费va| 亚洲在线一区二区| 日韩欧美在线精品| 手机看片日韩国产| 99精品热6080yy久久| 九色91popny| 国产suv精品一区二区883| 亚洲专区区免费| 亚洲欧美日韩中文播放| 欧美另类一区二区| 欧美日本在线一区| 三级小视频在线观看| 一本色道久久88精品综合| 四虎影视国产在线视频| 日韩av色在线| 日韩欧洲国产| 视频一区视频二区视频三区高| 欧美xxx在线观看| 毛片一区二区三区四区| 国产精品伊人色| 最近中文字幕在线mv视频在线| 亚洲视频网在线直播| 成人在线免费看视频| 日韩一区二区电影网| 国产二区在线播放| 97视频网站入口| 精品一区二区三区四区五区| 欧洲一区二区在线| 在线欧美日韩| 天堂av在线8| 国产日韩欧美制服另类| 国产无码精品一区二区| 91精品在线麻豆| 最新97超碰在线| 日韩av高清不卡| 久久免费视频66| 男女啪啪的视频| 久久se精品一区二区| 免费看污片网站| 午夜精品久久久久久久久久久| 国产av无码专区亚洲av麻豆| 中国日韩欧美久久久久久久久| 免费高潮视频95在线观看网站| 亚洲伊人第一页| 婷婷激情图片久久| 亚洲综合色在线观看| 久久精品视频一区| 日本中文字幕第一页| 亚洲国产精品一区二区三区| 神马午夜伦理不卡 | 久久久91精品国产一区二区精品| 国产无遮挡aaa片爽爽| 日韩午夜精品视频| av在线下载| 91精品视频播放| 天天射天天综合网| 91pony九色| 国产精品成人免费精品自在线观看 | 国产精品美女999| 欧美日韩一二三四| 午夜免费福利在线| 国产精品嫩草影院av蜜臀| 无码人妻久久一区二区三区| 亚洲免费视频一区二区| 自拍偷拍欧美视频| 欧美日韩一区二区三区在线观看免| 99av国产精品欲麻豆| 日本xxxx裸体xxxx| 欧美体内谢she精2性欧美| 偷拍精品一区二区三区| 91国内免费在线视频| 日本在线中文字幕一区| aa在线免费观看| 国产午夜精品一区二区| 天天操天天干天天摸| 在线日韩日本国产亚洲| 欧美一级免费| 天天爱天天做天天操| 国产99久久久国产精品潘金网站| 激情五月婷婷在线| 亚洲精品国产免费| 桃色一区二区| 亚洲高清乱码| 国产综合久久久久影院| www.色小姐com| 精品国产乱码久久久久久浪潮| 密臀av在线播放| 日韩理论片在线观看| 国产综合色在线视频区| 国产一级中文字幕| 亚洲欧美日本另类| 99久久精品一区二区成人| a级黄色片网站| 夫妻av一区二区| 中文字幕免费观看| www.xxxx欧美| 精品亚洲免a| 成人性做爰aaa片免费看不忠| 国产精品久久久久久久久快鸭| 99久久婷婷国产一区二区三区| 久久人人爽人人| 波多野结衣的一区二区三区| 亚洲一区二区三区四区精品 | 天堂网免费视频| 久久精品亚洲一区| 美女一区二区在线观看| 不卡av免费在线| 一级特黄大欧美久久久| 黄色视屏网站在线免费观看| 91久久久久久| 久久国产精品99国产| 欧洲第一无人区观看| 亚洲精品一区二区久| 日韩欧国产精品一区综合无码| 欧美亚洲日本一区二区三区| 国产精品毛片大码女人| 三级视频在线看| 91精品在线看|