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

解決棘手SQL性能問題,我的SQLT使用心得

運維 數(shù)據(jù)庫運維
SQLTXPLAIN(簡稱SQLT)是ORACLE COE提供的一款SQL性能診斷工具,SQLT主要方法是通過輸入的一個SQL語句,從而生成一組診斷文件,這些文件用于診斷性能較差的或產(chǎn)生錯誤結(jié)果(WRONG RESULTS)的SQL。

[[318681]]

一、SQLT背景介紹

SQLTXPLAIN(簡稱SQLT)是ORACLE COE提供的一款SQL性能診斷工具,SQLT主要方法是通過輸入的一個SQL語句,從而生成一組診斷文件,這些文件用于診斷性能較差的或產(chǎn)生錯誤結(jié)果(WRONG RESULTS)的SQL。

SQLT產(chǎn)生的診斷文件內(nèi)容包括執(zhí)行計劃、統(tǒng)計信息、CBO的參數(shù)、10053文件、性能變化的歷史等需要診斷SQL性能的一系列文件,而且SQLT還提供一系列工具,比如快速綁定SQL執(zhí)行計劃的工具。

SQLT主要使用場合是在需要快速綁定SQL執(zhí)行計劃,或者一些和參數(shù)、BUG等相關(guān)的疑難SQL分析中。

二、SQLT家族簡介

SQLT主要包含下列方法:

 

 

 

 

SQLT為一個SQL語句提供了下面 7種主要方法來生成診斷詳細信息XTRACT,XECUTE,XTRXEC,XTRSBY,XPLAIN,XPREXT和XPREXC。XTRACT,XECUTE,XTRXEC,XTRSBY,XPREXT和XPREXC處理綁定變量和會做 bind peeking(綁定變量窺視),但是XPLAIN不會。這是因為XPLAIN是基于EXPLAIN PLAN FOR 命令執(zhí)行的,該命令不做 bind peeking。

因此,如果可能請避免使用XPLAIN,除了XPLAIN的bind peeking限制外,所有這 7種主要方法都可以提供足夠的診斷詳細信息,對性能較差或產(chǎn)生錯誤結(jié)果集的SQL進行初步評估。如果該SQL仍位于內(nèi)存中或者Automatic Workload Repository (AWR) 中,請使用XTRACT或XTRXEC,其他情況請使用XECUTE。對于Data Guard或備用只讀數(shù)據(jù)庫,請使用XTRSBY。僅當其他方法都不可行時,再考慮使用XPLAIN。XPREXT和XPREXC是類似于XTRACT和XECUTE,但為了提高SQLT的性能它們禁了一些SQLT的特性。

幾種主要方法的關(guān)系如下:

其中XTRXEC包括了XTRACT和XECUTE方法,實際上它會同時執(zhí)行這兩個方法生成對應(yīng)的文件。使用這些方法后,會生成文件,自動打包。

 

 

 

 

SQLT的詳細內(nèi)容請參考MOS文檔:SQLT 使用指南 (Doc ID 1677588.1),本文重點說下SQLT里比較有用的方法(本文內(nèi)容的環(huán)境是11.2.0.3)。

三、SQLT寶劍出鞘

1、SQLT生成診斷文件

生成診斷文件使用的是sqlt/run目錄下的文件,此目錄下還有SQLHC健康檢查的腳本。這里看一個例子:

 

  1. SQL text: 
  2. select * 
  3.   from test1 
  4.  where test1.status in (select test2.status from test2  
  5.                   where object_name like 'PRC_TEST%'); 

 

這是條簡單的子查詢SQL,其中test1的status有索引,而且status有傾斜分布如下:

 

  1. dingjun123@ORADB> select status,count(*) 
  2.   2  from test1 
  3.   3  group by status; 
  4.  
  5. STATUS    COUNT(*) 
  6. ------- ---------- 
  7. INVALID          6 
  8. VALID        76679 
  9. --子查詢結(jié)果是INVALID 
  10. dingjun123@ORADB> select test2.status from test2  
  11.   2                    where object_name like 'PRC_TEST%' 
  12.   3  ; 
  13.  
  14. STATUS 
  15. ------- 
  16. INVALID 
  17. INVALID 

 

子查詢中的語句返回的正好是INVALID,那么可以預測,此語句應(yīng)該是用子查詢結(jié)果驅(qū)動表test1,走test.status列的索引,正常的應(yīng)該是走nested loops。OK,那么我們看看執(zhí)行計劃:

 

 

 

 

執(zhí)行計劃令人費解,要知道,對于表的統(tǒng)計信息是最新的且采樣比例100%,而且也收集了STATUS列的直方圖,為什么還走HASH JOIN,而且TEST1還走全表呢?先用SQLT診斷下,到sqlt/run目錄下找到對應(yīng)的腳本,然后輸入SQLID,之后會將生成的文件打包。

 

  1. dingjun123@ORADB> @sqltxtrxec 
  2. PL/SQL procedure successfully completed. 
  3. Elapsed: 00:00:00.00 
  4.  
  5. Parameter 1: 
  6. SQL_ID or HASH_VALUE of the SQL to be extracted (required) 
  7.  
  8. Enter value for 1: aak402j1r6zy3 
  9.  
  10. Paremeter 2: 
  11. SQLTXPLAIN password (required) 
  12.  
  13. Enter value for 2: XXXXXX 
  14. PL/SQL procedure successfully completed. 
  15. Elapsed: 00:00:00.00 
  16. Value passed to sqltxtrxec: 
  17. SQL_ID_OR_HASH_VALUE: "aak402j1r6zy3" 

 

解壓文件,即可看到如下內(nèi)容:

 

 

 

 

這里我們主要看main文件,這是主要內(nèi)容以及10053等。

首先打開main文件,可以看到主要診斷內(nèi)容:

 

 

 

 

可以看到,包括CBO的環(huán)境,執(zhí)行計劃以及歷史執(zhí)行信息,表,索引等對象統(tǒng)計信息都在這個main文件中,大部分時候可以通過此文件,了解SQL效率不佳的原因,比如執(zhí)行計劃變壞的時間段內(nèi)正好收集了統(tǒng)計信息,那么可以快速定位可能是統(tǒng)計信息收集不正確導致的。

一般情況下,都是先看執(zhí)行計劃,通過Plans目錄找到Execution Plans,可以點那些+,會顯示對應(yīng)的統(tǒng)計信息等內(nèi)容:

 

 

 

 

在統(tǒng)計信息正確的情況下,CBO估算的返回結(jié)果行是76685行,而實際結(jié)果是6行,估算是實際的12781倍,這顯然是有問題的。可以點開對應(yīng)的+,看看統(tǒng)計信息:

 

 

 

 

TEST1的STATUS列收集了直方圖,而且是100%采樣,沒有任何問題。到此,這個簡單的SQL很可能的情況就是:

  • CBO的缺陷,無法準確估算對應(yīng)的結(jié)果集的cardinality;
  • CBO的BUG或參數(shù)設(shè)置原因。

針對以上兩種情況,后面會介紹解決方法,這里先說下,為什么這里走了HASH JOIN,TEST1走了FULL TABLE SCAN,結(jié)果集的cardinality估算的結(jié)果正好是TEST1的行數(shù)呢,原因在于:

  • TEST1的STATUS有直方圖;
  • 子查詢結(jié)果查詢出STATUS,但是查詢結(jié)果的STATUS值在沒有執(zhí)行之前是未知的,也就是可能是INVALID也可能是VALID。

綜合以上因素,CBO無法在運行期之前預知結(jié)果的具體值,從而導致優(yōu)化器缺陷,走了不佳的執(zhí)行計劃(12C的apative plan可以解決這個問題)。

既然知道是這個原因,那么,就采用SQL PROFILE綁定就可以了,詳細內(nèi)容見下節(jié)。

2、SQLT快速綁定執(zhí)行計劃

SQL PROFILE可以使用SQLT工具快速綁定,SQL PROFILE就是對SQL增加了一系列HINTS,好處是不需要改寫SQL,可以在數(shù)據(jù)庫里直接管理。

對于COE工具SQL PROFILE綁定有兩類:

  • 直接綁定:針對執(zhí)行計劃經(jīng)常突變的,歷史中有好的執(zhí)行計劃,當前走的執(zhí)行計劃差,直接綁定即可。
  • 替換綁定:針對執(zhí)行計劃一直較差,沒有好的執(zhí)行計劃作為參考,可通過添加hints讓其走好的執(zhí)行計劃,然后通過coe工具手動修改文件或coe_load_sql_profile或者編寫存儲過程綁定到好的執(zhí)行計劃上。

注意:如果SQL沒有綁定變量,則通過coe_xfr_sql_profile生成的文件需要修改force_match=>true,手動編寫存儲過程或者coe_load_sql_profile做替換綁定的也需要修改force_match=>true,以讓所有SQL結(jié)構(gòu)相同(字面量條件不同)的SQL都綁定上好的執(zhí)行計劃。

(對應(yīng)的綁定計劃的腳本在sqlt/utl目錄下)

下面分別說說這兩種綁定方式:

1)使用coe_xfr_sql_profile腳本直接綁定

針對SQL執(zhí)行計劃經(jīng)常突變,當計劃變差時候,快速綁定到效率高的執(zhí)行計劃中。如下例:運行code_xfr_sql_profile然后輸入sql_id:

 

  1. SQL> @coe_xfr_sql_profile.sql 
  2.  
  3. Parameter 1: 
  4. SQL_ID (required) 
  5. Enter value for 1: 0hzkb6xf08jhw 
  6.  
  7.  
  8. PLAN_HASH_VALUE AVG_ET_SECS 
  9. --------------- ----------- 
  10.      3071332600        .006   --效率高的計劃 
  11.        40103161        653 
  12.  
  13. Parameter 2:         ---------------次數(shù)輸入需要綁定的PLAN_HASH_VALUE,顯然我們輸入3071332600   
  14. PLAN_HASH_VALUE (required) 
  15.  
  16. Enter value for 2: 
  17.  
  18. 最后生成文件,執(zhí)行。 
  19.  
  20. 注意:如果SQL沒有使用綁定變量,需要將生成文件的force_match => FALSE中的FALSE改成TRUE。 

 

2)使用coe_load_sql_profile做替換綁定

3.1中的例子是由于CBO的缺陷導致無法判定子查詢結(jié)果,從而導致走錯了執(zhí)行計劃,這里在12c之前需要綁定執(zhí)行計劃,因為沒有現(xiàn)成的執(zhí)行計劃,所以需要自己寫hints構(gòu)造一條正確執(zhí)行計劃的SQL,然后通過SQLT的替換綁定,將正確執(zhí)行計劃綁定到原SQL中去。

先將原始SQL通過增加hints,讓其執(zhí)行計劃正確,改造后的SQL如下:

 

  1. select/*+ 
  2.       BEGIN_OUTLINE_DATA 
  3.       USE_NL(@"SEL$5DA710D3" "TEST1"@"SEL$1"
  4.       LEADING(@"SEL$5DA710D3" "TEST2"@"SEL$2" "TEST1"@"SEL$1"
  5.       INDEX_RS_ASC(@"SEL$5DA710D3" "TEST2"@"SEL$2" ("TEST2"."OBJECT_NAME")) 
  6.       INDEX_RS_ASC(@"SEL$5DA710D3" "TEST1"@"SEL$1" ("TEST1"."STATUS")) 
  7.       OUTLINE(@"SEL$2"
  8.       OUTLINE(@"SEL$1"
  9.       UNNEST(@"SEL$2"
  10.       OUTLINE_LEAF(@"SEL$5DA710D3"
  11.       ALL_ROWS 
  12.       DB_VERSION('11.2.0.3'
  13.       OPTIMIZER_FEATURES_ENABLE('11.2.0.3'
  14.       IGNORE_OPTIM_EMBEDDED_HINTS 
  15.       END_OUTLINE_DATA 
  16.   */ * 
  17.   from test1 
  18.  where test1.status in (select test2.status from test2  
  19.                   where object_name like 'PRC_TEST%'); 

 

然后使用coe_load_sql_profile腳本做替換綁定,輸入原始的sql_id和替換的sql_id:

 

  1. dingjun123@ORADB> @coe_load_sql_profile 
  2. Parameter 1: 
  3. ORIGINAL_SQL_ID (required) 
  4.  
  5. Enter value for 1: aak402j1r6zy3 
  6.  
  7. Parameter 2: 
  8. MODIFIED_SQL_ID (required) 
  9.  
  10. Enter value for 2: 6rbnw92d7djwk 
  11.  
  12.      PLAN_HASH_VALUE          AVG_ET_SECS 
  13. -------------------- -------------------- 
  14.            313848035                 .001 
  15.  
  16. Parameter 3: 
  17. PLAN_HASH_VALUE (required) 
  18.  
  19. Enter value for 3: 313848035 
  20.  
  21. Values passed to coe_load_sql_profile: 
  22. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  23. ORIGINAL_SQL_ID: "aak402j1r6zy3" 
  24. MODIFIED_SQL_ID: "6rbnw92d7djwk" 
  25. PLAN_HASH_VALUE: "313848035" 
  26. … 

 

再次執(zhí)行原始語句,可以看到,綁定執(zhí)行計劃成功,已經(jīng)走了索引和NESTED LOOPS。

 

 

 

 

SQLT的快速綁定執(zhí)行計劃,在處理突發(fā)SQL性能問題中使用廣泛,的確是一個非常好的工具,猶如寶劍出鞘,削鐵如泥。

3、XPLORE快速診斷參數(shù)設(shè)置問題

某天晚上某系統(tǒng)一重要語句,遷移到新庫后執(zhí)行1小時都沒有結(jié)果,原先很快(1s左右),業(yè)務(wù)人員焦急萬分。對應(yīng)的語句如下:

 

  1. SELECT 
  2.     * 
  3.      FROM (SELECT A.ID, A.TEL_ID, A.PRE_CATE_ID, A.INSERT_TIME, A.REMARK1 
  4.              FROM TAB_BN_TEST_LOG A, 
  5.                   (SELECT TEL_ID, MIN(INSERT_TIME) AS INSERT_TIME 
  6.                      FROM TAB_BN_TEST_LOG 
  7.                     WHERE INSERT_TIME > '08-APR-19' 
  8.                       AND ID NOT IN 
  9.                           (SELECT IMEI FROM TX_MM_LOG_201907 WHERE TID = '10'
  10.                     GROUP BY TEL_ID) B 
  11.             WHERE A.TEL_ID = B.TEL_ID 
  12.               AND A.INSERT_TIME = B.INSERT_TIME 
  13.               AND A.ID NOT IN 
  14.                   (SELECT IMEI FROM TX_MM_LOG_201907 WHERE TID = '10'
  15.             ORDER BY INSERT_TIME) 
  16.     WHERE ROWNUM < 200 

 

查看執(zhí)行計劃:

 

 

 

 

執(zhí)行計劃中出現(xiàn)FILTER,也就是子查詢無法unnest,由于使用的是NOT IN,但是回頭一想,這是11g,有null aware特性,應(yīng)該不會出現(xiàn)FILTER才對,而且使用hints也無效。那么首先想到的就是檢查null aware參數(shù)是否設(shè)置,經(jīng)過檢查:

完全沒有問題,那么在收集統(tǒng)計信息、SQL PROFILE、可以想到的參數(shù)設(shè)置都沒有問題情況下,如何解決呢?

由于查詢轉(zhuǎn)換受眾多參數(shù)設(shè)置影響,雖然null aware已經(jīng)開啟,但是可能受其它參數(shù)或fix control設(shè)置影響,因此,這里可以使用SQLT的神器XPLORE分析,它會將已知參數(shù)、已知bug對應(yīng)的fix control逐一重新設(shè)置一遍,然后生成對應(yīng)的執(zhí)行計劃,最后生成一個html文件,通過查看執(zhí)行計劃,找到對應(yīng)的參數(shù)或者BUG。

SQLT XPLORE中有XEXCUTE、XPLAIN等眾多方法,對于慢的語句,建議使用XPLAIN方法。然后查看分析結(jié)果與目標計劃匹配的設(shè)置,從而找出問題。

使用XPLORE,可以參考sqlt/utl/xplore中的readme.txt。這里需要將對應(yīng)的SQL內(nèi)容里加上:/* ^^unique_id */。

最終,生成的XPLORE文件內(nèi)容如下:

 

 

 

 

有8個執(zhí)行計劃的PLAN_HASH_VALUE,對應(yīng)的點進去,找到正確的執(zhí)行計劃對應(yīng)的參數(shù)設(shè)置:

 

 

 

 

最終找到,原來和_optimizer_squ_bottomup參數(shù)有關(guān),這個參數(shù),系統(tǒng)設(shè)置成FALSE,導致此子查詢無法進行null aware查詢轉(zhuǎn)換,重新設(shè)置后語句執(zhí)行恢復到正常時間。

針對這樣的情況,如果一個個參數(shù)去對比分析,必然耗時很長,使用SQLT的XPLORE神器,可以快速找到對應(yīng)的參數(shù)設(shè)置或已知BUG問題,比如一些新特性導致的SQL性能問題、SQL產(chǎn)生錯誤的結(jié)果等,都可以通過XPLORE分析,快速找到對應(yīng)的參數(shù),然后重新設(shè)置。

最后做個總結(jié):SQLT里還有很多其他的功能,可以通過MOS查看對應(yīng)的文章,SQLT在解決棘手的SQL性能問題時,的確是一把利器,猶如寶劍出鞘,SQL性能問題無所遁形。

責任編輯:武曉燕 來源: DBAplus社群
相關(guān)推薦

2011-01-19 14:57:09

Thunderbird

2009-06-19 11:09:27

Spring AOP

2011-01-07 11:14:17

Nginx負載均衡負載均衡

2015-07-29 10:18:35

Direct Cons虛擬化

2010-03-02 17:33:49

Android 2.0

2010-02-01 10:15:07

C++ TinyXML

2011-09-01 10:16:43

JQuery Mobi

2009-08-11 11:42:50

Ruby使用心得

2011-07-12 14:38:35

XenServer 5

2020-10-04 13:29:00

SQL數(shù)據(jù)庫工具

2009-06-26 16:12:08

ThickboxjQuery

2009-08-28 10:08:15

C# using語句

2009-08-31 10:00:07

C#靜態(tài)變量

2011-03-15 11:05:03

2010-06-01 13:42:37

TortoiseSVN

2011-04-20 13:59:28

愛普生V100掃描儀

2010-08-06 11:12:38

FlexCairngorm框架

2009-08-26 13:31:21

JavaScript使

2009-07-31 18:37:45

ASP.NET MVC

2016-10-07 15:45:59

點贊
收藏

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

99精品99| 黑人久久a级毛片免费观看| 久久久av毛片精品| 国产精品露脸自拍| 亚洲色婷婷一区二区三区| 成人福利一区| 色综合视频一区二区三区高清| 亚洲v日韩v欧美v综合| www.97超碰| 日韩精品1区2区3区| zzjj国产精品一区二区| 精品人妻一区二区三区日产| 日韩欧美一区二区三区免费观看| 一区二区免费视频| 亚洲人体一区| 色av男人的天堂免费在线| 精品伊人久久久久7777人| 久久久久久久久久久av| 少妇高潮一区二区三区喷水| 琪琪久久久久日韩精品| 日韩欧美美女一区二区三区| 日韩视频免费在线播放| 中文字幕在线中文字幕日亚韩一区| 国产美女永久免费无遮挡| 久久9999免费视频| 91九色02白丝porn| 霍思燕三级露全乳照| 日韩子在线观看| 91亚洲国产成人精品一区二三 | 欧美日韩国产三区| 国产高清精品软件丝瓜软件| 蜜桃av一区二区| 欧美综合一区第一页| 欧美精品色哟哟| 希岛爱理av一区二区三区| 亚洲美女在线看| 喷水视频在线观看| 亚洲精品一二三**| 欧美精品第1页| 日本中文字幕高清| 欧美日韩美女| 日韩欧美亚洲范冰冰与中字| 国产二区视频在线| 黄色美女视频在线观看| 亚洲精品免费看| 日韩精品第1页| 黄页视频在线播放| 中文字幕亚洲一区二区av在线| 欧美重口乱码一区二区| 精品成人一区二区三区免费视频| 91丨porny丨国产| 精品蜜桃传媒| 免费毛片在线| 久久精品欧美一区二区三区不卡| 久久综合色一本| 日本大臀精品| 久久精品一区二区| 视频一区二区在线观看| 成人欧美一区| 中文字幕欧美一区| 永久免费在线看片视频| 亚洲妇熟xxxx妇色黄| 一区二区三区在线播| 热久久最新网址| 国内高清免费在线视频| 亚洲午夜久久久久久久久电影院| 欧美大黑帍在线播放| 成人在线免费观看黄色| 精品久久香蕉国产线看观看亚洲 | 久久久国产精品成人免费| 亚洲作爱视频| 日韩美女视频在线观看| 波多野结衣一本一道| 另类专区欧美蜜桃臀第一页| 91精品在线观| 亚洲精品喷潮一区二区三区| 99免费精品在线观看| 欧美精品亚洲| 免费网站黄在线观看| 一区二区三区在线视频免费| 久久国产精品网| 久久毛片亚洲| 6080yy午夜一二三区久久| 国产成人av片| 香蕉久久99| 综合网日日天干夜夜久久| 九九精品视频免费| 亚洲精品在线二区| 日本三级韩国三级久久| 国产精品嫩草影院精东| 成人黄色国产精品网站大全在线免费观看| 精品无码久久久久国产| 成人福利在线| 亚洲午夜精品在线| 孩娇小videos精品| 一区三区自拍| 中文字幕在线观看日韩| 久久成人国产精品入口| 久久综合亚州| 99re在线播放| av电影在线网| 亚洲一区在线观看免费 | 久久久国产精品黄毛片| 西西裸体人体做爰大胆久久久| 国产精品视频99| 男人天堂一区二区| 综合色中文字幕| 国产aaa一级片| 欧一区二区三区| 一区二区三区国产在线观看| 国产无码精品一区二区| 蜜桃视频第一区免费观看| 国产在线观看一区| 国产精品实拍| 欧美系列日韩一区| 亚洲黄色在线网站| 欧美特黄一区| 亚洲最大av网| 午夜视频在线观看免费视频| 欧美色播在线播放| 99热超碰在线| 午夜久久黄色| 国产在线久久久| 男女视频在线观看| 欧美日韩午夜剧场| 男人网站在线观看| 欧美日韩国产成人精品| 91精品国产综合久久香蕉的用户体验| 黄色网址在线播放| 午夜精品爽啪视频| 四虎成人免费视频| 欧美日韩国产欧| 91久久国产精品91久久性色| av在线电影网| 欧美影视一区在线| 性猛交ⅹxxx富婆video | 日本欧美国产| 日韩av免费在线| 黄色大片在线免费观看| 色综合色狠狠天天综合色| 一区二区三区少妇| 亚洲一区二区动漫| 精品视频一区二区| 色在线视频观看| 亚洲精品一区二区久| 国产原创视频在线| 97精品久久久午夜一区二区三区 | 亚洲最新av在线网站| 秋霞精品一区二区三区| 久久亚洲精华国产精华液 | 欧美黄色免费看| 韩国av一区二区三区在线观看| 一区二区三区四区不卡| 久久人体av| 久久亚洲成人精品| 亚洲国产999| 亚洲香蕉伊在人在线观| 中文字幕天堂网| 国产欧美69| 日韩美女一区| 国产一区二区三区亚洲综合| 欧美xxxx做受欧美| 老牛影视av牛牛影视av| 亚洲3atv精品一区二区三区| 亚洲av片不卡无码久久| 老司机精品久久| 一区二区不卡在线| 亚洲国产高清在线观看| 91国产精品91| sese一区| 欧美成人vps| 国产在线观看黄色| 欧美国产1区2区| 中文字幕一区二区在线观看视频| 欧美日本二区| 欧美资源一区| 亚洲超碰在线观看| 欧美一级bbbbb性bbbb喷潮片| 国产福利小视频在线| 欧美顶级少妇做爰| 日本特黄特色aaa大片免费| 久久色在线观看| 亚洲综合色在线观看| 欧美一区免费| 欧美一区1区三区3区公司| 国产美女久久| 性欧美长视频免费观看不卡| 福利视频在线看| 日韩精品资源二区在线| 亚洲GV成人无码久久精品| 中文字幕在线观看不卡视频| 95视频在线观看| 天堂在线亚洲视频| 蜜桃网站在线观看| 精品一区亚洲| 福利精品视频| 国产69精品久久久久按摩| 欧美激情在线一区| 在线观看av的网站| 日韩精品福利在线| 国产强伦人妻毛片| 一本到不卡精品视频在线观看| 欧美美女性生活视频| 99久久免费视频.com| 中文字幕亚洲乱码| 性高湖久久久久久久久| 四虎精品欧美一区二区免费| 国产99久久| 国产精品一区二| 亚洲美女色播| 日韩美女福利视频| 极品视频在线| 欧美精品xxx| 老司机精品影院| 中文字幕亚洲一区二区三区五十路 | 黄色网址在线免费观看| 一本一道久久a久久精品逆3p| 免费观看的毛片| 3d动漫精品啪啪一区二区竹菊| 日韩精品成人免费观看视频| 亚洲国产精品久久一线不卡| 国产免费无码一区二区视频| 中文一区二区在线观看| 爱爱免费小视频| 波多野结衣一区二区三区| 精品国产乱码久久久久久1区二区| 三级久久三级久久| 99爱视频在线| 亚洲精品美女91| 日本免费a视频| 一个色综合网| 国产成人三级视频| 国产精品毛片久久| 一区二区三区国产福利| 国内成人自拍| 亚洲v国产v在线观看| 精品成av人一区二区三区| 免费观看成人高| 久久成人高清| 欧美日韩精品久久| 久久不见久久见中文字幕免费| 久久伊人一区| 伊人久久综合影院| 免费久久久一本精品久久区| 校园春色另类视频| 欧美1o一11sex性hdhd| 亚洲欧洲av| 欧美在线日韩精品| 日韩电影免费网址| 亚洲精品久久区二区三区蜜桃臀| 欧美二区在线播放| 日韩精品资源| 国产一区日韩| 日产精品高清视频免费| 亚洲影院天堂中文av色| 欧美日韩电影一区二区| 深爱激情久久| 亚洲午夜久久久影院伊人| 欧美一二区在线观看| 一区二区三区四区不卡| 91精品国产91久久综合| 欧美日韩福利在线| 99成人在线| 动漫av免费观看| 青草国产精品久久久久久| 老司机午夜性大片| 精品无人码麻豆乱码1区2区 | 日本电影欧美片| 国产极品jizzhd欧美| 欧美美女被草| 国产成人精品免费视频大全最热| 欧美三级电影在线| 日韩视频在线观看国产| 91精品国产视频| 阿v天堂2017| 日本麻豆一区二区三区视频| 国产精品久久久久久久av福利| 国产激情精品久久久第一区二区| 国产一级免费片| 久久久久一区二区三区四区| 国产精品成人在线视频| 一区二区三区资源| 九九精品免费视频| 在线成人免费视频| 少妇高潮一区二区三区99小说| 亚洲欧洲美洲在线综合| 一级毛片视频在线| 国产69精品久久久| 成人午夜亚洲| 国产一区二区免费在线观看| 第一sis亚洲原创| 免费的一级黄色片| 日韩专区在线视频| 三上悠亚 电影| 国产欧美日韩一区二区三区在线观看 | 国产精品丝袜在线播放| 日本一区二区三区四区在线观看| 一本一道久久综合狠狠老| 日韩av在线综合| 国产91在线观看| 91视频免费看片| 精品久久久香蕉免费精品视频| 91免费视频播放| 亚洲美女又黄又爽在线观看| 欧美理论电影| 91精品国产综合久久久久久久久| 香蕉久久精品| 久无码久无码av无码| 精品一区二区三区久久| 成人免费无遮挡无码黄漫视频| 亚洲精品国产一区二区精华液| 亚洲 小说区 图片区| 亚洲国产小视频| 色图在线观看| 国产欧美在线观看| 国产乱码精品一区二区亚洲 | 视频二区不卡| 国产精品午夜av在线| 9191国语精品高清在线| 日本久久精品一区二区| 9久草视频在线视频精品| 美国黄色小视频| 欧美裸体一区二区三区| 国产小视频福利在线| 欧美在线视频网站| 成人动漫视频| 日韩精品一区二区在线视频 | 欧美黄色视屏| 国产欧美一区二区三区久久| 国产精品一区二区av交换| 日韩av在线第一页| 白白色亚洲国产精品| 国产av无码专区亚洲av毛网站| 精品视频123区在线观看| 国产小视频福利在线| 国产高清在线不卡| 国产不卡av一区二区| 丰满少妇被猛烈进入高清播放| www.欧美精品一二区| 日韩成人av毛片| 亚洲成av人影院在线观看| 污片在线免费观看| 91免费看网站| 亚洲视频碰碰| 图片区偷拍区小说区| 亚洲高清视频的网址| 欧美一级淫片免费视频魅影视频| 欧美激情视频网| 欧美久久香蕉| 亚洲成熟丰满熟妇高潮xxxxx| 久久青草欧美一区二区三区| 国产成人无码一区二区在线播放| 亚洲精品一区二区三区婷婷月| www.com.cn成人| 青青草原亚洲| 日韩成人一区二区| 九九热久久免费视频| 911精品产国品一二三产区| 精品国产丝袜高跟鞋| 99在线看视频| 国产一区二区三区久久久久久久久| 国产 中文 字幕 日韩 在线| 日韩欧美综合在线视频| 精品av中文字幕在线毛片| 国产欧美日韩丝袜精品一区| 你懂的国产精品永久在线| 野战少妇38p| 日韩欧美中文免费| а√天堂中文在线资源bt在线| 国产在线播放91| 欧美日韩99| 女人被狂躁c到高潮| 欧美亚洲日本国产| 中国av在线播放| 欧美男人的天堂| 韩国视频一区二区| 国产网址在线观看| 亚洲亚裔videos黑人hd| 亚洲视频自拍| 国产二区视频在线播放| 国产精品亲子伦对白| 人妻无码一区二区三区久久99| 日韩精品导航| 欧美 国产 精品| 2024国产精品视频| 国产一区二区在线不卡| 97精品视频在线观看| 波多野结衣一区| av免费观看不卡| 欧美日韩一区国产| www555久久| 一区二区三区四区视频在线观看| 丁香激情综合国产| 91丨九色丨海角社区| 欧美激情一级精品国产| 欧美hentaied在线观看| 亚洲av网址在线| 欧美一区二区在线观看| 春暖花开亚洲一区二区三区| 日本中文字幕一级片|