成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解

Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解

熱門標(biāo)簽:騰訊地圖標(biāo)注要費(fèi)用嗎 車瑪仕極限運(yùn)動(dòng)場(chǎng)所地圖標(biāo)注 外呼電話系統(tǒng)用卡嗎 電渠外呼系統(tǒng) 高德地圖標(biāo)注公司名字大全 七日殺a19.5全地圖標(biāo)注 N個(gè)你智能電銷機(jī)器人 地圖標(biāo)注怎么保存 廣東營(yíng)銷智能外呼系統(tǒng)商家

DBMS_XPLAN是Oracle提供的一個(gè)用于查看SQL計(jì)劃,包括執(zhí)行計(jì)劃和解釋計(jì)劃的包;在以前查看SQL執(zhí)行計(jì)劃的時(shí)候,我都是使用set autotrace命令,不過(guò)現(xiàn)在看來(lái),DBMS_XPLAN包給出了更加簡(jiǎn)化的獲取和顯示計(jì)劃的方式。

這5個(gè)函數(shù)分別對(duì)應(yīng)不同的顯示計(jì)劃的方式,DBMS_XPLAN包不僅可以獲取解釋計(jì)劃,它還可以用來(lái)輸出存儲(chǔ)在AWR,SQL調(diào)試集,緩存的SQL游標(biāo),以及SQL基線中的語(yǔ)句計(jì)劃,實(shí)現(xiàn)如上的功能,通常會(huì)用到一下5個(gè)方法:

1.DISPLAY
2.DISPLAY_AWR
3.DISPLAY_CURSOR
4.DISPLAY_PLAN
5.DISPLAY_SQL_PLAN_BASELINE
6.DISPLAY_SQLSET

下面將重點(diǎn)討論關(guān)于DBMS_XPLAN包在解釋計(jì)劃和執(zhí)行計(jì)劃上的應(yīng)用。

來(lái)看一個(gè)經(jīng)常使用的查看某條語(yǔ)句的解釋計(jì)劃示例:

復(fù)制代碼 代碼如下:

SQL> explain plan for select * from scott.emp;

Explained.

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3956160932

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |    14 |   532 |     3   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| EMP  |    14 |   532 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------

8 rows selected.

-- 對(duì)應(yīng)autotrace實(shí)現(xiàn)
SQL> set autotrace traceonly explain


上例中使用了dbms_xplan.display方法來(lái)顯示PLAN_TABLE中保存的解釋計(jì)劃,如果想要顯示執(zhí)行計(jì)劃,就需要使用到DMBS_XPLAN.DISPLAY_CURSOR方法了,DMBS_XPLAN.DISPLAY_CURSOR調(diào)用簽名:

復(fù)制代碼 代碼如下:

DBMS_XPLAN.DISPLAY_CURSOR(
   sql_id        IN  VARCHAR2  DEFAULT  NULL,
   child_number  IN  NUMBER    DEFAULT  NULL,
   format        IN  VARCHAR2  DEFAULT  'TYPICAL');

sql_id表示存儲(chǔ)在cursor cache中的SQL語(yǔ)句的id,child_number用于指示緩存sql語(yǔ)句計(jì)劃的子id,format參數(shù)用于控制包含在輸出中的信息類型,官檔的參數(shù)如下:

1.BASIC: 顯示最少的信息,只包括操作類型,ID名稱和選項(xiàng)。
2.TYPICAL: 默認(rèn)值,顯示相關(guān)信息以及某些附加的顯示選項(xiàng),如分區(qū)和并發(fā)使用等。
3.SERIAL: 與TYPICAL類型相似,區(qū)別是它不包括并發(fā)的信息,即使是并行執(zhí)行的計(jì)劃。
4.ALL: 顯示最多的信息,包含了TYPICAL的全部以及更多的附加信息,如別名和遠(yuǎn)程調(diào)用等。

除了以上的基本的四種輸出格式外,format還有一些附加的選項(xiàng)可用于定制化輸出行為,使用中可以通過(guò)逗號(hào)和空格分隔來(lái)聲明多個(gè)關(guān)鍵字,同時(shí)可以使用”+”和”-”符號(hào)來(lái)包含或排除相應(yīng)的顯示元素,這些附加的選項(xiàng)在官檔中也有記載:

1.ROWS – 顯示被優(yōu)化器估算的記錄的行號(hào)
2.BYTES – 顯示優(yōu)化器估算的字節(jié)數(shù)
3.COST – 顯示優(yōu)化器計(jì)算的成本信息
4.PARTITION – 顯示分區(qū)的分割信息
5.PARALLEL – 顯示并行執(zhí)行信息
6.PREDICATE – 顯示謂語(yǔ)
7.PROJECTION – 顯示列投影部分(每一行的那些列被傳遞給其父列已經(jīng)這些列的大小)
8.ALIAS – 顯示查詢塊名稱已經(jīng)對(duì)象別名
9.REMOTE – 顯示分布式查詢信息
10.NOTE – 顯示注釋
11.IOSTATS – 顯示游標(biāo)執(zhí)行的IO統(tǒng)計(jì)信息
12.MEMSTATS – 為內(nèi)存密集運(yùn)算如散列聯(lián)結(jié),排序,或一些類型的位圖運(yùn)算顯示內(nèi)存管理統(tǒng)計(jì)信息
13.ALLSTATS – 與'IOSTATS MEMSTATS'等價(jià)
14.LAST – 顯示最后執(zhí)行的執(zhí)行計(jì)劃統(tǒng)計(jì)信息,默認(rèn)顯示為ALL類型,并且可以累積。

以上的參數(shù)同樣適用于解釋計(jì)劃的display方法。

示例部分:

一、使用display_cursor方法查看最近一條語(yǔ)句的執(zhí)行計(jì)劃

復(fù)制代碼 代碼如下:

SQL> select /*+ gather_plan_statistics */ count(*) from scott.emp;

  COUNT(*)
----------
        14

SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));

PLAN_TABLE_OUTPUT
-------------------------------------------------------------------------------------------------------
SQL_ID  f9qyz8s3c2c02, child number 0
-------------------------------------
select /*+ gather_plan_statistics */ count(*) from scott.emp

Plan hash value: 2937609675

-------------------------------------------------------------------------------------
| Id  | Operation        | Name   | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT |        |      1 |        |      1 |00:00:00.01 |       1 |
|   1 |  SORT AGGREGATE  |        |      1 |      1 |      1 |00:00:00.01 |       1 |
|   2 |   INDEX FULL SCAN| PK_EMP |      1 |     14 |     14 |00:00:00.01 |       1 |
-------------------------------------------------------------------------------------

14 rows selected.

使用dbms_xplan.display_cursor(null,null,'ALLSTATS LAST')時(shí),將sql_id和child_number設(shè)置成null,表示獲取上一條執(zhí)行語(yǔ)句的執(zhí)行計(jì)劃;注意上面的例子中一定要指定gather_plan_statistics提示或者手動(dòng)設(shè)置數(shù)據(jù)庫(kù)STATISTICS_LEVEL參數(shù)為ALL來(lái)使得其抓取行數(shù)據(jù)源的執(zhí)行統(tǒng)計(jì)信息,這些信息包括行數(shù),一直讀取次數(shù),物理讀次數(shù),物理寫次數(shù)以及運(yùn)算在一行數(shù)據(jù)上耗費(fèi)的運(yùn)行時(shí)間,如果沒(méi)有指定該提示,就不會(huì)有A-Rows,A-Time,Buffers這三列信息。

二、獲取某條指定語(yǔ)句的執(zhí)行計(jì)劃

復(fù)制代碼 代碼如下:

SQL> select /*+ gather_plan_statistics */ count(*) from hr.employees where department_id in (90, 100);

  COUNT(*)
----------
         9

-- 通過(guò)v$sql視圖查詢到sql語(yǔ)句的SQL_ID和CHILD_NUMBER
SQL> select sql_id,child_number,sql_text from v$sql
  2  where sql_text like '%select /*+ gather_plan_statistics */ count(*)%';

SQL_ID        CHILD_NUMBER SQL_TEXT
------------- ------------ ----------------------------------------------------------------------------------------------------
5qxmkvh40yw0p            0 select /*+ gather_plan_statistics */ count(*) from hr.employees where department_id in (90, 100)
bqjrnskvpv51n            0 select sql_id,child_number,sql_text from v$sql where sql_text like '%select /*+ gather_plan_statisti
                           cs */ count(*)%'

-- 獲取對(duì)應(yīng)的執(zhí)行計(jì)劃
SQL> select * from table(dbms_xplan.display_cursor('5qxmkvh40yw0p',0,'ALLSTATS LAST'));

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
SQL_ID  5qxmkvh40yw0p, child number 0
-------------------------------------
select /*+ gather_plan_statistics */ count(*) from hr.employees where
department_id in (90, 100)

Plan hash value: 4167091351

--------------------------------------------------------------------------------------------------
| Id  | Operation          | Name              | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |                   |      1 |        |      1 |00:00:00.01 |       2 |
|   1 |  SORT AGGREGATE    |                   |      1 |      1 |      1 |00:00:00.01 |       2 |
|   2 |   INLIST ITERATOR  |                   |      1 |        |      9 |00:00:00.01 |       2 |
|*  3 |    INDEX RANGE SCAN| EMP_DEPARTMENT_IX |      2 |      9 |      9 |00:00:00.01 |       2 |
--------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   3 - access(("DEPARTMENT_ID"=90 OR "DEPARTMENT_ID"=100))

21 rows selected.

三、通過(guò)format參數(shù)定制執(zhí)行計(jì)劃輸出信息

復(fù)制代碼 代碼如下:

-- 使用ALL來(lái)顯示解釋計(jì)劃的全部信息
SQL> explain plan for
  2  select * from emp e, dept d
  3  where e.deptno = d.deptno
  4  and e.ename = 'JONES' ;

Explained.

SQL> select * from table(dbms_xplan.display(format=>'ALL'));

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
Plan hash value: 3625962092

----------------------------------------------------------------------------------------
| Id  | Operation                    | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |         |     1 |    58 |     4   (0)| 00:00:01 |
|   1 |  NESTED LOOPS                |         |       |       |            |          |
|   2 |   NESTED LOOPS               |         |     1 |    58 |     4   (0)| 00:00:01 |
|*  3 |    TABLE ACCESS FULL         | EMP     |     1 |    38 |     3   (0)| 00:00:01 |
|*  4 |    INDEX UNIQUE SCAN         | PK_DEPT |     1 |       |     0   (0)| 00:00:01 |
|   5 |   TABLE ACCESS BY INDEX ROWID| DEPT    |     1 |    20 |     1   (0)| 00:00:01 |

Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------

   1 - SEL$1
   3 - SEL$1 / E@SEL$1
   4 - SEL$1 / D@SEL$1
   5 - SEL$1 / D@SEL$1

Predicate Information (identified by operation id):

   3 - filter("E"."ENAME"='JONES')
   4 - access("E"."DEPTNO"="D"."DEPTNO")

Column Projection Information (identified by operation id):
-----------------------------------------------------------

   1 - (#keys=0) "E"."EMPNO"[NUMBER,22], "E"."ENAME"[VARCHAR2,10],
       "E"."JOB"[VARCHAR2,9], "E"."MGR"[NUMBER,22], "E"."HIREDATE"[DATE,7],
       "E"."SAL"[NUMBER,22], "E"."COMM"[NUMBER,22], "E"."DEPTNO"[NUMBER,22],
       "D"."DEPTNO"[NUMBER,22], "D"."DNAME"[VARCHAR2,14], "D"."LOC"[VARCHAR2,13]
   2 - (#keys=0) "E"."EMPNO"[NUMBER,22], "E"."ENAME"[VARCHAR2,10],
       "E"."JOB"[VARCHAR2,9], "E"."MGR"[NUMBER,22], "E"."HIREDATE"[DATE,7],
       "E"."SAL"[NUMBER,22], "E"."COMM"[NUMBER,22], "E"."DEPTNO"[NUMBER,22],
       "D".ROWID[ROWID,10], "D"."DEPTNO"[NUMBER,22]
   3 - "E"."EMPNO"[NUMBER,22], "E"."ENAME"[VARCHAR2,10], "E"."JOB"[VARCHAR2,9],
       "E"."MGR"[NUMBER,22], "E"."HIREDATE"[DATE,7], "E"."SAL"[NUMBER,22],
       "E"."COMM"[NUMBER,22], "E"."DEPTNO"[NUMBER,22]
   4 - "D".ROWID[ROWID,10], "D"."DEPTNO"[NUMBER,22]
   5 - "D"."DNAME"[VARCHAR2,14], "D"."LOC"[VARCHAR2,13]

43 rows selected.

-- 去除執(zhí)行計(jì)劃上的字節(jié)數(shù)和成本統(tǒng)計(jì)信息
SQL> select empno, ename from emp e, dept d
  2  where e.deptno = d.deptno
  3  and e.ename = 'JONES' ;

     EMPNO ENAME
---------- ----------
      7566 JONES

SQL> select * from table(dbms_xplan.display_cursor(null,null,format=>'ALLSTATS LAST -COST -BYTES'));

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
SQL_ID  3mypf7d6npa97, child number 1
-------------------------------------
select empno, ename from emp e, dept d where e.deptno = d.deptno and
e.ename = 'JONES'

Plan hash value: 3956160932

------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |      1 |        |      1 |00:00:00.01 |       8 |
|*  1 |  TABLE ACCESS FULL| EMP  |      1 |      1 |      1 |00:00:00.01 |       8 |
------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter(("E"."ENAME"='JONES' AND "E"."DEPTNO" IS NOT NULL))

19 rows selected.

-- 另一種選項(xiàng),窺視綁定變量的值,非常方便??!
SQL> variable v_empno number
SQL> exec :v_empno := 7566 ;

PL/SQL procedure successfully completed.

SQL> select * from emp where empno = :v_empno ;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20

SQL> select * from table(dbms_xplan.display_cursor(null,null,format=>'+PEEKED_BINDS'));

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
SQL_ID  9q17w9umt58m7, child number 0
-------------------------------------
select * from emp where empno = :v_empno

Plan hash value: 2949544139

--------------------------------------------------------------------------------------
| Id  | Operation                   | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT            |        |       |       |     1 (100)|          |
|   1 |  TABLE ACCESS BY INDEX ROWID| EMP    |     1 |    38 |     1   (0)| 00:00:01 |
|*  2 |   INDEX UNIQUE SCAN         | PK_EMP |     1 |       |     0   (0)|          |
--------------------------------------------------------------------------------------

Peeked Binds (identified by position):
--------------------------------------

   1 - :V_EMPNO (NUMBER): 7566

Predicate Information (identified by operation id):
---------------------------------------------------

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
   2 - access("EMPNO"=:V_EMPNO)

24 rows selected.

-- 并行查詢信息篩選
SQL> select /*+ parallel(d, 4) parallel (e, 4) */
  2  d.dname, avg(e.sal), max(e.sal)
  3  from dept d, emp e
  4  where d.deptno = e.deptno
  5  group by d.dname
  6  order by max(e.sal), avg(e.sal) desc;

DNAME          AVG(E.SAL) MAX(E.SAL)
-------------- ---------- ----------
SALES          1566.66667       2850
RESEARCH             2175       3000
ACCOUNTING     2916.66667       5000

SQL> select * from table(dbms_xplan.display_cursor(null,null,'TYPICAL -BYTES -COST'));

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
SQL_ID  gahr597f78j0d, child number 0
-------------------------------------
select /*+ parallel(d, 4) parallel (e, 4) */ d.dname, avg(e.sal),
max(e.sal) from dept d, emp e where d.deptno = e.deptno group by
d.dname order by max(e.sal), avg(e.sal) desc

Plan hash value: 3078011448

--------------------------------------------------------------------------------------------------
| Id  | Operation                     | Name     | Rows  | Time     |    TQ  |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------------------------------

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |          |       |          |        |      |            |
|   1 |  PX COORDINATOR               |          |       |          |        |      |            |
|   2 |   PX SEND QC (ORDER)          | :TQ10004 |     4 | 00:00:01 |  Q1,04 | P->S | QC (ORDER) |
|   3 |    SORT ORDER BY              |          |     4 | 00:00:01 |  Q1,04 | PCWP |            |
|   4 |     PX RECEIVE                |          |     4 | 00:00:01 |  Q1,04 | PCWP |            |
|   5 |      PX SEND RANGE            | :TQ10003 |     4 | 00:00:01 |  Q1,03 | P->P | RANGE      |
|   6 |       HASH GROUP BY           |          |     4 | 00:00:01 |  Q1,03 | PCWP |            |
|   7 |        PX RECEIVE             |          |    14 | 00:00:01 |  Q1,03 | PCWP |            |
|   8 |         PX SEND HASH          | :TQ10002 |    14 | 00:00:01 |  Q1,02 | P->P | HASH       |
|*  9 |          HASH JOIN BUFFERED   |          |    14 | 00:00:01 |  Q1,02 | PCWP |            |
|  10 |           PX RECEIVE          |          |     4 | 00:00:01 |  Q1,02 | PCWP |            |
|  11 |            PX SEND HASH       | :TQ10000 |     4 | 00:00:01 |  Q1,00 | P->P | HASH       |
|  12 |             PX BLOCK ITERATOR |          |     4 | 00:00:01 |  Q1,00 | PCWC |            |
|* 13 |              TABLE ACCESS FULL| DEPT     |     4 | 00:00:01 |  Q1,00 | PCWP |            |
|  14 |           PX RECEIVE          |          |    14 | 00:00:01 |  Q1,02 | PCWP |            |
|  15 |            PX SEND HASH       | :TQ10001 |    14 | 00:00:01 |  Q1,01 | P->P | HASH       |
|  16 |             PX BLOCK ITERATOR |          |    14 | 00:00:01 |  Q1,01 | PCWC |            |
|* 17 |              TABLE ACCESS FULL| EMP      |    14 | 00:00:01 |  Q1,01 | PCWP |            |
--------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   9 - access("D"."DEPTNO"="E"."DEPTNO")
  13 - access(:Z>=:Z AND :Z=:Z)   17 - access(:Z>=:Z AND :Z=:Z)

38 rows selected.


您可能感興趣的文章:
  • ORACLE數(shù)據(jù)庫(kù)查看執(zhí)行計(jì)劃的方法
  • Oracle中獲取執(zhí)行計(jì)劃的幾種方法分析
  • 查看Oracle的執(zhí)行計(jì)劃一句話命令
  • Oracle中基于hint的3種執(zhí)行計(jì)劃控制方法詳細(xì)介紹
  • Oracle中直方圖對(duì)執(zhí)行計(jì)劃的影響詳解

標(biāo)簽:來(lái)賓 長(zhǎng)沙 大興安嶺 玉樹(shù) 棗莊 贛州 遼寧 蘇州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解》,本文關(guān)鍵詞  Oracle,中,使用,DBMS,XPLAN,處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    不卡在线视频| 成年人精品视频| 欧美体内she精视频| 欧美激情久久久久久| 精品成人av一区二区在线播放| 亚洲午夜av| 97免费观看视频| 中国大陆高清aⅴ毛片| 欧美国产一区二区在线观看| 中文字幕亚洲一区二区三区五十路| 欧美激情一区二区三区在线视频观看| 国产+成+人+亚洲欧洲在线| 天天av天天爽| 亚洲综合图色| 免费人成网ww777kkk手机| 天堂av网手机版| 久久亚洲成人精品| 夜夜嗨av禁果av粉嫩avhd| www黄视频| 日韩免费高清av| 欧美精品一区二区三区视频| 欧美黄色成人网| 中国xxxx性xxxx产国| 好吊色免费视频| 国产 日韩 欧美一区| 爱搞国产精品| 亚洲av激情无码专区在线播放| 日韩欧洲国产| 69av在线视频| 成人黄色短视频| 亚洲精品日韩成人| 伊人久久久久久久久久| 欧美日韩一二三四五区| 久久香蕉国产线看观看av| 9191精品国产综合久久久久久| aaa免费看大片| 成人97精品毛片免费看| 最近免费中文字幕大全免费第三页| 国产精品一二二区| ckplayer中文字幕| 国产精品99视频| 欧美蜜桃一区二区三区| www狠狠操| 特级黄国产片一级视频播放| 国产精品视频二| 国产精品高精视频免费| 717成人午夜免费福利电影| 男人添女荫道口喷水视频| 亚洲毛片网站| 亚洲成人精品一区二区| 久久精品国产亚洲av麻豆| 成人xxxx视频| 欧美日韩国产一区二区三区不卡| 久久天堂久久| 亚洲精品一区二区三区av| 美女扒开尿口让男人操亚洲视频网站| 国产精品91视频| 完整版免费av片| 青青草精品毛片| 中文产幕区在线观看| 免费观看羞羞视频网站| 欧美吞精做爰啪啪高潮| 香蕉免费毛片视频| 欧美国产激情二区三区| 国产黄色在线播放| 午夜天堂精品久久久久| 日本美女爱爱视频| 欧美日韩在线第一页| 亚洲精品久久久久久久久久久久久| 国产无套精品一区二区| 免费看黄色片的网站| 麻豆mv在线看| 亚洲国产精品成人无久久精品| 欧美极品少妇xxxxⅹ免费视频| 色影院视频在线| 亚洲丝袜av一区| 午夜精品久久久久久久久久蜜桃| 久久久久久这里只有精品| 欧美日韩伊人| 亚洲在线成人| 成人ww免费完整版在线观看| 在线观看av片| 性色av一区二区咪爱| 国产精品欧美一区二区三区| 中文字幕视频在线免费| 精品一区二区久久| 北岛玲日韩精品一区二区三区| 少妇愉情理伦三级| 国产一区二区三区日韩欧美| 波多野结衣av在线观看| 拍拍拍在线观看视频免费| 狠狠擦狠狠操| 国产精品久久久久久久久婷婷| 手机看片福利永久国产日韩| 在线视频欧美亚洲| 国精品一区二区| 日韩av电影资源网| 97超碰在线人人| 另类激情视频| 成人av电影免费观看| 免费亚洲一区二区| 欧洲杯足球赛直播| yourporn久久国产精品| 97超碰最新| 国产精品69久久久久| 欧美日韩视频一区二区| 中文字幕一区二区视频| 欧美视频在线观看网站| 免费视频一区| 99久久.com| 免费麻豆国产一区二区三区四区| 国产91丝袜在线播放九色| 在线播放国产一区二区三区| 992tv国产精品成人影院| 成人全视频免费观看在线看| 欧美系列日韩一区| 欧美一区二区三区免费观看视频| 精品中文字幕一区二区小辣椒| 日韩视频 中文字幕| 免费国产成人看片在线| 亚洲一区免费视频| 久久久久久久久久久久电影| 视频三区在线观看| 亚洲精蜜桃久在线| 成人亚洲一区二区一| 亚洲综合视频网| 99久久99久久精品免费看小说.| youjizz.com亚洲| 国产免费拔擦拔擦8x在线播放| 精品国产青草久久久久福利| 在线视频影院| 亚洲国产aⅴ成人精品无吗| 99re免费视频精品全部| 四虎精品免费视频| 亚洲中文字幕一区二区| 欧美一级大片免费看| 日韩中文在线中文网在线观看| 国产成人综合网站| 日本久久国产| 免费在线超碰| av成人在线网站| 国产欧美日韩中文字幕在线| 成人在线观看www| 亚洲天堂一级片| 亚洲视频大全| 欧美日本精品在线| 午夜av噜噜噜噜噜噜| 精品久久久久久久久久久久久久久久久| 国产不卡在线一区| 亚洲国产精品999| 一区二区欧美日韩视频| 国产精品人人爽人人做我的可爱| 懂色av一区二区三区四区五区| 日韩欧美不卡在线观看视频| 国产一二三区在线观看| 亚洲在线一区| 精品国产凹凸成av人网站| 国产成人夜色高潮福利影视| 精品国产一区一区二区三亚瑟| 亚洲精品偷拍| 中文字幕在线视频免费观看| 久久精品美女视频网站| 国产尤物视频在线| 日韩成人综合网| 精品久久久久久一区二区里番| 日韩免费性生活视频播放| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美日韩一区免费| 精品免费视频一区二区| 波多野结衣一区| 亚洲宅男天堂在线观看无病毒| 亚洲国产中文字幕久久网| 精品中文字幕一区二区三区| 西西人体一区二区| 国语自产精品视频在线看8查询8| 91成人网在线观看| 97视频热人人精品免费| 91精品天堂福利在线观看| 一级淫片在线观看| 91久久夜色精品国产按摩| 成人欧美一区二区三区1314| 久久免费视频这里只有精品| 国产精品网站在线观看| 精品久久久久久一区二区里番| 亚洲精品suv精品一区二区| 国产精品美女视频免费观看软件| 欧美日韩高清在线一区| 国产精品女同一区二区| 午夜伦理大片视频在线观看| 久久高清国产| 97人妻精品一区二区三区| 人妻少妇精品久久| 91青青草视频| 中文字幕视频一区| 91在线最新| 欧美xxxxbbbb| 亚洲色图av在线| 国产无套粉嫩白浆在线2022年| 成人女人a毛片在线看| 国产欧美日韩综合一区在线观看| 美女精品自拍一二三四| 亚洲欧美激情在线视频| 国产精品理论片在线观看| 国产精品欧美综合在线| 欧美性xxxx交| 欧美日韩国产精品成人| 免费在线看大片无需流量| 九九热这里有精品| 国产成人福利网站| 自己做鸭怎么接单寻找客源| 电影一区中文字幕| a级网站在线播放| 黄色片免费在线观看视频| fc2ppv在线播放| 欧美日韩色一区| 日韩国产精品亚洲а∨天堂免| 久草网在线观看| 亚洲激情中文1区| 99久久伊人精品| 国产在线观看色| 国产一级一区二区| 亚洲韩国欧洲国产日产av| 中文字幕 日韩有码| 中文字幕精品视频| 国产午夜视频在线播放| 97在线资源在| 欧美sm一区| 老司机午夜福利视频| 日日躁夜夜躁白天躁晚上躁91| 狠狠干天天干| 欧美色欧美亚洲另类二区精品| 日本午夜精品一区二区三区| 午夜精品久久久久久久91蜜桃| 日韩av无码一区二区三区不卡| 日韩1区2区| 欧美日韩亚洲一区在线观看| 国内精品久久久久国产| 久久久三级国产网站| 激情久久五月天| 久久精品国产秦先生| 国产美女主播一区| 丰满少妇久久久| 国产成人av电影在线播放| 精品成av人一区二区三区| 亚洲色图制服诱惑| 亚洲视频自拍偷拍| 亚洲天堂久久久久久久| 午夜免费福利在线观看| 国内精品一区视频| 久久久影视精品| 亚洲欧洲在线观看| 亚洲精品喷潮一区二区三区| 国产午夜免费福利| 日本一本草久p| 国产精品www994| 国产午夜精品久久久久久免费视| 丰满放荡岳乱妇91ww| 国产精品色哟哟| 黑巨人与欧美精品一区| 91视视频在线观看入口直接观看www| 色中色一区二区| 成人av动漫| 91porny九色| 伊人久久大香线蕉综合四虎小说| 国产亚洲欧美在线| 天天堂资源网在线观看免费视频| 国产综合av在线| 免费观看的av| 色午夜这里只有精品| 国产精品一区在线| 四虎影视18库在线影院| 99国产在线播放| 欧美成人精品一区二区男人看| 午夜国产精品一区| 婷婷综合国产| 羞羞视频在线观看一区二区| 五月开心六月丁香综合色啪| 88国产精品视频一区二区三区| 成人精品在线观看| 黄色一级大片在线免费看国产| 欧美调教在线| 污视频网站免费在线观看| 亚洲淫片在线视频| 浪潮色综合久久天堂| 在线看片国产福利你懂的| xxxx日韩| 国产欧美精品xxxx另类| 久久久久久久国产精品毛片| 亚洲人在线播放| 国产97色在线 | 日韩| 在线观看岛国av| 国产欧美在线观看| 亚洲精品小视频在线观看| 国产一二三区在线| 国产精品亚洲午夜一区二区三区| 国内欧美视频一区二区| 美女毛片在线观看| 亚洲午夜久久久久久久久| 日韩毛片网站| 亚洲少妇屁股交4| 在线免费观看一区二区| 91av视频在线观看| 国产aⅴ爽av久久久久成人| 四季av中文字幕| 国产精品30p| 四虎影视永久免费在线观看一区二区三区| 国产精品成人a在线观看| 久久亚洲AV无码专区成人国产| 人妻中文字幕一区| 国产成a人亚洲| 91国产视频在线播放| 久久国产成人精品国产成人亚洲| 福利一区在线| 日本亲与子乱a| 欧美艳星brazzers| 中文字幕日韩经典| 亚洲一区二区在线播放| 成人午夜在线视频一区| 黄色直播在线| 美女高潮黄又色高清视频免费| 激情欧美一区二区三区黑长吊| 欧美一区二区三区少妇| 日韩一卡二卡在线观看| 青青草原综合久久大伊人精品优势| 欧美波霸videosex极品| 国产精品一区二区精品视频观看| 色综合久久久久综合| 深爱五月激情网|