亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 數(shù)據(jù)庫(kù) > PostgreSQL > 正文

PostgreSQL教程(十四):數(shù)據(jù)庫(kù)維護(hù)

2020-03-12 23:52:59
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PostgreSQL教程(十四):數(shù)據(jù)庫(kù)維護(hù),本文講解了恢復(fù)磁盤空間、更新規(guī)劃器統(tǒng)計(jì)、VACUUM和ANALYZE的示例、定期重建索引等內(nèi)容,需要的朋友可以參考下
 

一、恢復(fù)磁盤空間:

    在PostgreSQL中,使用delete和update語(yǔ)句刪除或更新的數(shù)據(jù)行并沒有被實(shí)際刪除,而只是在舊版本數(shù)據(jù)行的物理地址上將該行的狀態(tài)置為已刪除或已過期。因此當(dāng)數(shù)據(jù)表中的數(shù)據(jù)變化極為頻繁時(shí),那么在一段時(shí)間之后該表所占用的空間將會(huì)變得很大,然而數(shù)據(jù)量卻可能變化不大。要解決該問題,需要定期對(duì)數(shù)據(jù)變化頻繁的數(shù)據(jù)表執(zhí)行VACUUM操作。

    VACUUM命令存在兩種形式,VACUUM和VACUUM FULL,它們之間的區(qū)別見如下表格:

 

  無VACUUM VACUUM VACUUM FULL
刪除大量數(shù)據(jù)之后 只是將刪除數(shù)據(jù)的狀態(tài)置為已刪除,該空間不能記錄被重新使用。 如果刪除的記錄位于表的末端,其所占用的空間將會(huì)被物理釋放并歸還操作系統(tǒng)。如果不是末端數(shù)據(jù),該命令會(huì)將指定表或索引中被刪除數(shù)據(jù)所占用空間重新置為可用狀態(tài),那么在今后有新數(shù)據(jù)插入時(shí),將優(yōu)先使用該空間,直到所有被重用的空間用完時(shí),再考慮使用新增的磁盤頁(yè)面。 不論被刪除的數(shù)據(jù)是否處于數(shù)據(jù)表的末端,這些數(shù)據(jù)所占用的空間都將被物理的釋放并歸還于操作系統(tǒng)。之后再有新數(shù)據(jù)插入時(shí),將分配新的磁盤頁(yè)面以供使用。
執(zhí)行效率   由于只是狀態(tài)置為操作,因此效率較高。 在當(dāng)前版本的PostgreSQL(v9.1)中,該命令會(huì)為指定的表或索引重新生成一個(gè)數(shù)據(jù)文件,并將原有文件中可用的數(shù)據(jù)導(dǎo)入到新文件中,之后再刪除原來的數(shù)據(jù)文件。因此在導(dǎo)入過程中,要求當(dāng)前磁盤有更多的空間可用于此操作。由此可見,該命令的執(zhí)行效率相對(duì)較低。
被刪除的數(shù)據(jù)所占用的物理空間是否被重新規(guī)劃給操作系統(tǒng)。 不會(huì) 不會(huì) 會(huì)
在執(zhí)行VACUUM命令時(shí),是否可以并發(fā)執(zhí)行針對(duì)該表的其他操作。   由于該操作是共享鎖,因此可以與其他操作并行進(jìn)行。 由于該操作需要在指定的表上應(yīng)用排它鎖,因此在執(zhí)行該操作期間,任何基于該表的操作都將被掛起,知道該操作完成。
推薦使用方式 在進(jìn)行數(shù)據(jù)清空是,可以使用truncate操作,因?yàn)樵摬僮鲗?huì)物理的清空數(shù)據(jù)表,并將其所占用的空間直接歸還于操作系統(tǒng)。 為了保證數(shù)據(jù)表的磁盤頁(yè)面數(shù)量能夠保持在一個(gè)相對(duì)穩(wěn)定值,可以定期執(zhí)行該操作,如每天或每周中數(shù)據(jù)操作相對(duì)較少的時(shí)段。 考慮到該操作的開銷,以及對(duì)其他錯(cuò)誤的排斥,推薦的方式是,定期監(jiān)控?cái)?shù)據(jù)量變化較大的表,只有確認(rèn)其磁盤頁(yè)面占有量接近臨界值時(shí),才考慮執(zhí)行一次該操作。即便如此,也需要注意盡量選擇數(shù)據(jù)操作較少的時(shí)段來完成該操作。
執(zhí)行后其它操作的效率 對(duì)于查詢而言,由于存在大量的磁盤頁(yè)面碎片,因此效率會(huì)逐步降低。 相比于不執(zhí)行任何VACUUM操作,其效率更高,但是插入的效率會(huì)有所降低。 在執(zhí)行完該操作后,所有基于該表的操作效率都會(huì)得到極大的提升。

 

二、更新規(guī)劃器統(tǒng)計(jì):

    PostgreSQL查詢規(guī)劃器在選擇最優(yōu)路徑時(shí),需要參照相關(guān)數(shù)據(jù)表的統(tǒng)計(jì)信息用以為查詢生成最合理的規(guī)劃。這些統(tǒng)計(jì)是通過ANALYZE命令獲得的,你可以直接調(diào)用該命令,或者把它當(dāng)做VACUUM命令里的一個(gè)可選步驟來調(diào)用,如VACUUM ANAYLYZE table_name,該命令將會(huì)先執(zhí)行VACUUM再執(zhí)行ANALYZE。與回收空間(VACUUM)一樣,對(duì)數(shù)據(jù)更新頻繁的表保持一定頻度的ANALYZE,從而使該表的統(tǒng)計(jì)信息始終處于相對(duì)較新的狀態(tài),這樣對(duì)于基于該表的查詢優(yōu)化將是極為有利的。然而對(duì)于更新并不頻繁的數(shù)據(jù)表,則不需要執(zhí)行該操作。

    我們可以為特定的表,甚至是表中特定的字段運(yùn)行ANALYZE命令,這樣我們就可以根據(jù)實(shí)際情況,只對(duì)更新比較頻繁的部分信息執(zhí)行ANALYZE操作,這樣不僅可以節(jié)省統(tǒng)計(jì)信息所占用的空間,也可以提高本次ANALYZE操作的執(zhí)行效率。這里需要額外說明的是,ANALYZE是一項(xiàng)相當(dāng)快的操作,即使是在數(shù)據(jù)量較大的表上也是如此,因?yàn)樗褂昧私y(tǒng)計(jì)學(xué)上的隨機(jī)采樣的方法進(jìn)行行采樣,而不是把每一行數(shù)據(jù)都讀取進(jìn)來并進(jìn)行分析。因此,可以考慮定期對(duì)整個(gè)數(shù)據(jù)庫(kù)執(zhí)行該命令。

    事實(shí)上,我們甚至可以通過下面的命令來調(diào)整指定字段的抽樣率,如:
 

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

    ALTER TABLE testtable ALTER COLUMN test_col SET STATISTICS 200
 

    注意:該值的取值范圍是0--1000,其中值越低采樣比例就越低,分析結(jié)果的準(zhǔn)確性也就越低,但是ANALYZE命令執(zhí)行的速度卻更快。如果將該值設(shè)置為-1,那么該字段的采樣比率將恢復(fù)到系統(tǒng)當(dāng)前默認(rèn)的采樣值,我們可以通過下面的命令獲取當(dāng)前系統(tǒng)的缺省采樣值。
 
復(fù)制代碼代碼如下:

    postgres=# show default_statistics_target;
     default_statistics_target
    ---------------------------
     100
    (1 row)
 

    從上面的結(jié)果可以看出,該數(shù)據(jù)庫(kù)的缺省采樣值為100(10%)。

 

三、VACUUM和ANALYZE的示例:
    

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

    #1. 創(chuàng)建測(cè)試數(shù)據(jù)表。
    postgres=# CREATE TABLE testtable (i integer);
    CREATE TABLE
    #2. 為測(cè)試表創(chuàng)建索引。
    postgres=# CREATE INDEX testtable_idx ON testtable(i);
    CREATE INDEX
    #3. 創(chuàng)建批量插入測(cè)試數(shù)據(jù)的函數(shù)。
    postgres=# CREATE OR REPLACE FUNCTION test_insert() returns integer AS $$
    DECLARE
        min integer;
        max integer;
    BEGIN
        SELECT COUNT(*) INTO min from testtable;
        max := min + 10000;
        FOR i IN min..max LOOP
            INSERT INTO testtable VALUES(i);
        END LOOP;
        RETURN 0;
    END;
    $$ LANGUAGE plpgsql;
    CREATE FUNCTION
    #4. 批量插入數(shù)據(jù)到測(cè)試表(執(zhí)行四次)
    postgres=# SELECT test_insert();
     test_insert
    -------------
               0
    (1 row)
    #5. 確認(rèn)四次批量插入都成功。
    postgres=# SELECT COUNT(*) FROM testtable;
     count
    -------
     40004
    (1 row)
    #6. 分析測(cè)試表,以便有關(guān)該表的統(tǒng)計(jì)信息被更新到PostgreSQL的系統(tǒng)表。
    postgres=# ANALYZE testtable;
    ANALYZE
    #7. 查看測(cè)試表和索引當(dāng)前占用的頁(yè)面數(shù)量(通常每個(gè)頁(yè)面為8k)。
    postgres=# SELECT relname,relfilenode, relpages FROM pg_class WHERE relname = 'testtable' or relname = 'testtable_idx';
        relname       | relfilenode    | relpages
    ---------------+-------------+----------
     testtable        |       17601   |      157
     testtable_idx  |       17604   |       90
    #8. 批量刪除數(shù)據(jù)。
    postgres=# DELETE FROM testtable WHERE i < 30000;
    DELETE 30003
    #9. 執(zhí)行vacuum和analyze,以便更新系統(tǒng)表,同時(shí)為該表和索引記錄高水標(biāo)記。
    #10. 這里需要額外說明的是,上面刪除的數(shù)據(jù)均位于數(shù)據(jù)表的前部,如果刪除的是末尾部分,
    #      如where i > 10000,那么在執(zhí)行VACUUM ANALYZE的時(shí)候,數(shù)據(jù)表將會(huì)被物理的縮小。
    postgres=# VACUUM ANALYZE testtable;
    ANALYZE
    #11. 查看測(cè)試表和索引在刪除后,再通過VACUUM ANALYZE更新系統(tǒng)統(tǒng)計(jì)信息后的結(jié)果(保持不變)。
    postgres=# SELECT relname,relfilenode, relpages FROM pg_class WHERE relname = 'testtable' or relname = 'testtable_idx';
        relname      | relfilenode     | relpages
    ---------------+-------------+----------
     testtable        |       17601   |      157
     testtable_idx  |       17604   |       90
    (2 rows)
    #12. 再重新批量插入兩次,之后在分析該表以更新其統(tǒng)計(jì)信息。
    postgres=# SELECT test_insert(); --執(zhí)行兩次。
     test_insert
    -------------
               0
    (1 row)
    postgres=# ANALYZE testtable;
    ANALYZE
    #13. 此時(shí)可以看到數(shù)據(jù)表中的頁(yè)面數(shù)量仍然為之前的高水標(biāo)記數(shù)量,索引頁(yè)面數(shù)量的增加
    #      是和其內(nèi)部實(shí)現(xiàn)方式有關(guān),但是在后面的插入中,索引所占的頁(yè)面數(shù)量就不會(huì)繼續(xù)增加。
    postgres=# SELECT relname,relfilenode, relpages FROM pg_class WHERE relname = 'testtable' or relname = 'testtable_idx';
        relname       | relfilenode    | relpages
    ---------------+-------------+----------
     testtable        |       17601   |      157
     testtable_idx  |       17604   |      173
    (2 rows)
    postgres=# SELECT test_insert();
     test_insert
    -------------
               0
    (1 row)
    postgres=# ANALYZE testtable;
    ANALYZE
    #14. 可以看到索引的頁(yè)面數(shù)量確實(shí)沒有繼續(xù)增加。
    postgres=# SELECT relname,relfilenode, relpages FROM pg_class WHERE relname = 'testtable' or relname = 'testtable_idx';
        relname      | relfilenode    | relpages
    ---------------+-------------+----------
     testtable        |       17601   |      157
     testtable_idx  |       17604   |      173
    (2 rows)
    #15. 重新批量刪除數(shù)據(jù)。
    postgres=# DELETE FROM testtable WHERE i < 30000;
    DELETE 19996
    #16. 從后面的查詢可以看出,在執(zhí)行VACUUM FULL命令之后,測(cè)試表和索引所占用的頁(yè)面數(shù)量
    #      確實(shí)降低了,說明它們占用的物理空間已經(jīng)縮小了。
    postgres=# VACUUM FULL testtable;
    VACUUM
    postgres=# SELECT relname,relfilenode, relpages FROM pg_class WHERE relname = 'testtable' or relname = 'testtable_idx';
        relname      | relfilenode     | relpages
    ---------------+-------------+----------
     testtable        |       17602   |      118
     testtable_idx  |       17605   |       68
    (2 rows)

 

 

 

四、定期重建索引:

    在PostgreSQL中,為數(shù)據(jù)更新頻繁的數(shù)據(jù)表定期重建索引(REINDEX INDEX)是非常有必要的。對(duì)于B-Tree索引,只有那些已經(jīng)完全清空的索引頁(yè)才會(huì)得到重復(fù)使用,對(duì)于那些僅部分空間可用的索引頁(yè)將不會(huì)得到重用,如果一個(gè)頁(yè)面中大多數(shù)索引鍵值都被刪除,只留下很少的一部分,那么該頁(yè)將不會(huì)被釋放并重用。在這種極端的情況下,由于每個(gè)索引頁(yè)面的利用率極低,一旦數(shù)據(jù)量顯著增加,將會(huì)導(dǎo)致索引文件變得極為龐大,不僅降低了查詢效率,而且還存在整個(gè)磁盤空間被完全填滿的危險(xiǎn)。
    對(duì)于重建后的索引還存在另外一個(gè)性能上的優(yōu)勢(shì),因?yàn)樵谛陆⒌乃饕?,邏輯上相互連接的頁(yè)面在物理上往往也是連在一起的,這樣可以提高磁盤頁(yè)面被連續(xù)讀取的幾率,從而提高整個(gè)操作的IO效率。見如下示例:
    #1. 此時(shí)已經(jīng)在該表中插入了大約6萬條數(shù)據(jù),下面的SQL語(yǔ)句將查詢?cè)撍饕加玫拇疟P空間。    
 

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

    postgres=# SELECT relname, pg_relation_size(oid)/1024 || 'K' AS size FROM pg_class WHERE relkind='i' AND relname = 'testtable_idx';
        relname     | size
    ----------------+------
     testtable_idx | 1240K
    (1 row)
    #2. 刪除數(shù)據(jù)表中大多數(shù)的數(shù)據(jù)。
    postgres=# DELETE FROM testtable WHERE i > 20000;
    DELETE 50006
    #3. 分析一個(gè)該表,以便于后面的SQL語(yǔ)句繼續(xù)查看該索引占用的空間。
    postgres=# ANALYZE testtable;
    ANALYZE
    #4. 從該查詢結(jié)果可以看出,該索引所占用的空間并未減少,而是和之前的完全一樣。
    postgres=# SELECT pg_relation_size('testtable_idx')/1024 || 'K' AS size;
     size
    ------
     1240K
    (1 row)
    #5. 重建索引。
    postgres=# REINDEX INDEX testtable_idx;
    REINDEX
    #6. 查看重建后的索引實(shí)際占用的空間,從結(jié)果中可以看出索引的尺寸已經(jīng)減少。
    postgres=# SELECT pg_relation_size('testtable_idx')/1024 || 'K' AS size;
     size
    ------
     368K
    (1 row)
    #7. 最后一點(diǎn)需要記住的是,在索引重建后一定要分析數(shù)據(jù)表。
    postgres=# ANALYZE testtable;
    ANALYZE

 五、觀察磁盤使用情況:

 

    1. 查看數(shù)據(jù)表所占用的磁盤頁(yè)面數(shù)量。
 

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

    #relpages只能被VACUUM、ANALYZE和幾個(gè)DDL命令更新,如CREATE INDEX。通常一個(gè)頁(yè)面的長(zhǎng)度為8K字節(jié)。
    postgres=# SELECT relfilenode, relpages FROM pg_class WHERE relname = 'testtable';
     relfilenode | relpages
    -------------+----------
           16412 |       79
    (1 row)
   

    2. 查看指定數(shù)據(jù)表的索引名稱和索引占用的磁盤頁(yè)面數(shù)量。
 
復(fù)制代碼代碼如下:

    postgres=# SELECT c2.relname, c2.relpages FROM pg_class c, pg_class c2, pg_index i
        WHERE c.relname = 'testtable' AND c.oid = i.indrelid AND c2.oid = i.indexrelid
        ORDER BY c2.relname;
        relname    | relpages
    ---------------+----------
     testtable_idx |       46
    (1 row)
 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美jizzhd欧美精品巨大| av资源站一区| 丰满少妇乱子伦精品看片| 女同性互吃奶乳免费视频| 国产精品久久久久久久久粉嫩av| 91色视频在线| 亚洲人成小说| 57pao成人永久免费| 亚洲精品影视在线观看| 亚洲国产精品热久久| 欧美1级片网站| 欧美黑人又粗又大又爽免费| 大黑人交xxx极品hd| 久久av综合| 私人影视中文字幕| 蜜桃在线一区二区| 国产成人jvid在线播放| 国产精品国产三级国产专区52| 国产日韩欧美日韩大片| 久久精品男人天堂| 国产寡妇亲子伦一区二区三区四区| 亚洲最色的网站| xxx免费视频观看| 91麻豆精品国产综合久久久久久| 久久五月精品中文字幕| 欧美精品一区二区高清在线观看| 97人人做人人爽香蕉精品| www.xxxx精品| 黄色污污在线观看| 99se视频在线观看| 人妻巨大乳一二三区| 中文字幕日韩欧美精品在线观看| 成人在线二区| 欧美成熟毛茸茸| 免费在线亚洲欧美| 欧美热在线视频精品999| 日韩和欧美的一区二区| 日本一区高清在线视频| 欧美大片欧美激情性色a∨久久| 拔插拔插华人永久免费| 老牛国内精品亚洲成av人片| 亚洲精品一区二区三区蜜桃| 国产精品第一国产精品| 777琪琪电影午夜理伦片| 中文字幕不卡每日更新1区2区| 91精品欧美福利在线观看| 免费观看久久久久| 18视频在线观看| 成人爱爱电影网址| 最好看的2019年中文视频| 久久视频在线直播| 美女免费黄视频网站| 黄色三级电影网| 韩国视频一区二区| 国模私拍视频| 国产一级片自拍| 69堂免费精品视频在线播放| 国产精品996| 国产经典一区| 7m精品福利视频导航| 午夜日韩av| 麻豆明星ai换脸视频| 影音先锋5566中文源资源| 国产成人精品免费看在线播放| 91亚洲精品国产| 黑人と日本人の交わりビデオ| 成人网在线视频| 国产一区二区在线电影| 91伊人久久大香线蕉| 亚洲丝袜精品| 欧美日韩一区二区在线| 国产污视频在线播放| segui88久久综合9999| 白白在线精品| 成人欧美一区二区三区黑人麻豆| 日韩一区二区三区免费播放| 激情福利在线| 亚洲伊人网在线观看| 美洲天堂一区二卡三卡四卡视频| 久久久精品福利| 亚洲第一天堂| 免费在线稳定资源站| 国产经典一区| 午夜精品三级视频福利| 思思久久99热只有频精品66| 爱草在线视频| 欧美成人免费全部网站| 亚洲一区二区欧美激情| 黄色一级影院| 精品人妻大屁股白浆无码| 三级在线观看免费大全| 亚洲视频日韩| 粉嫩aⅴ一区二区三区四区| 久久精品99久久久久久久久| 一区二区三区高清视频在线观看| 五月天色婷婷综合| 欧美午夜片在线免费观看| 欧美视频日韩| 亚洲日本网址| 日本不卡视频一二三区| av动漫在线看| 99久久精品国产毛片| 四虎免费在线观看视频| 国产真实伦在线观看| 18禁裸男晨勃露j毛免费观看| 久久精品国产成人一区二区三区| 亚洲精品综合一区二区三区| 中文字幕高清av| 噜噜噜久久亚洲精品国产品麻豆| 日韩欧美性视频| 99国产成+人+综合+亚洲欧美| 污视频在线免费| 精品久久久久久电影| 日韩中文字幕影院| 中文字幕 久热精品 视频在线| 最新亚洲伊人网| 精品少妇一区二区三区免费观| 国产精品大尺度| 欧美精品videos极品| 欧美日韩免费看片| 国产91在线免费| 2020国产精品久久精品不卡| 永久免费在线观看| 国产综合一区二区| 蜜桃视频在线观看视频| 国产成人美女视频| 欧美捆绑视频| 在线亚洲国产精品网站| 性猛交富婆╳xxx乱大交一| 亚洲成人av动漫| 蜜桃麻豆影像在线观看| 日本一区二区免费电影| 日本一区二区在线| 国产手机av在线| 狠狠狠狠狠狠狠| 视频一区二区精品| 日本女人高潮视频| 欧美成人se01短视频在线看| 蜜臀av午夜精品| 91精品国自产| 免费在线看污片| 欧美调教femdomvk| 亚洲伊人色欲综合网| 亚洲精品成人一区| 黄色香蕉视频在线观看| 五月天综合婷婷| 懂色av一区二区三区四区五区| 国产精品国产三级国产专区52| 国语自产偷拍精品视频偷| 成人一级片免费看| 国内一卡2卡三卡四卡在线| 久久婷婷蜜乳一本欲蜜臀| 亚洲精品aaaaa| 国产精品一区在线观看乱码| 日本wwwwwww| 小毛片在线观看| 久久免费福利视频| aa级大片免费在线观看| 99色这里只有精品| 亚洲小说区图片区都市| 亚洲狼人精品一区二区三区| 日本福利视频| 九九热免费在线视频| 蜜桃a∨噜噜一区二区三区| 日韩电影在线观看电影| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲色图38p| 在线精品亚洲一区二区不卡| 色94色欧美sute亚洲线路一ni| 亚洲精品国产成人av在线| 亚洲人成电影在线观看天堂色| 91网址在线播放| 91婷婷韩国欧美一区二区| xxx中文字幕| 日韩精品视频一区二区在线观看| 精品熟妇无码av免费久久| 无码人妻一区二区三区在线| 三年片观看免费观看大全视频下载| 日本欧美视频在线观看| 可以在线观看的av网站| 狠狠色综合网| 国产日韩精品中文字无码| 超碰97国产在线| 尤物视频一区二区| 草民午夜欧美限制a级福利片| 极品美女销魂一区二区三区免费| 国产浴室偷窥在线播放| 亚洲电影影音先锋| 国产a级片视频| xxx国产hd| 欧美色综合网| 国产一级黄色电影| 久久精品国产一区二区电影| 精品无码在线视频| 一区二区三区四区国产精品| 亚洲精品二区三区| 日韩人妻无码精品综合区| 国产大片在线免费观看| 欧美精品videos另类| 米仓穗香在线观看| 少妇熟女一区二区| 欧美一级高潮片| 国产三级在线观看| 韩国女主播成人在线观看| 日日夜夜人人| 国产在线观看网站| 7777精品久久久久久| 黄页视频在线91| 免费在线看电影| 伊人久久大香伊蕉在人线观看热v| 亚洲区免费视频| 亚洲av网址在线| 免费av一区二区三区| 日本欧美在线| 先锋影音一区二区| 精品国偷自产国产一区| 免费看日韩毛片| 欧美熟妇另类久久久久久不卡| 一本一本久久a久久精品牛牛影视| 久久精品国产一区二区三区肥胖| 一级黄色电影片| 在线观看av免费| 色哟哟国产精品色哟哟| 欧美伦理影视网| 欧美行性性性o00x| 欧美风情在线观看| 精品日韩在线| 国产区在线视频| 午夜精品久久久久久久96蜜桃| 精品久久久久一区二区国产| 多男操一女视频| 亚洲伊人伊成久久人综合网| 亚洲人性生活视频| 九九九在线观看| 日本韩国欧美一区二区三区| 99草草国产熟女视频在线| 18深夜在线观看免费视频| 丁香花电影在线观看完整版| 波多野结衣在线观看一区二区三区| 综合网插菊花| 一级特黄妇女高潮| 色琪琪丁香婷婷综合久久| 国产成人一级片| 亚洲精品一区中文| 亚洲精品成人少妇| 中文字幕av影院| 亚洲国产精品久久久久秋霞影院| 一级片免费在线观看| 欧美www在线| jizz中文字幕| 国产白浆在线观看| 亚洲精品成av人片天堂无码| 亚洲高清在线免费观看| 你懂得影院夜精品a| 久久青草免费| 国产美女极品在线| 亚洲欧美日韩一区| 成人做爰免费视频免费看| 日本欧美色综合网站免费| 国产亚洲欧美日韩在线一区| 在线国产亚洲欧美| 国产乱人伦偷精品视频不卡| 色综合五月天| 99re视频这里只有精品| 色综合久久久久综合体桃花网| 黄色免费大片| 国产aⅴ精品一区二区三区黄| 可以免费看不卡的av网站| 久久全国免费久久青青小草| 草莓污污视频在线观看| 99国产精品视频免费观看一公开| 中文字幕在线日亚洲9| 黄色毛片免费| 精品一区二区三区自拍图片区| 中文字幕日韩在线播放| 亚洲一二三区av| 国模大胆一区二区三区| 国产精品久久久久久久成人午夜| 日韩一区二区电影| 午夜天堂影视香蕉久久| 韩国精品久久久999| 香蕉网在线视频| 亚洲免费av一区二区| 欧美最猛黑人xxxx黑人猛交黄| 日韩欧美在线一区二区| 午夜精品99久久免费| 免费永久视频| 亚洲图片视频小说| 成人免费高清完整版在线观看| 国产精品久久久亚洲一区| 欧美日韩国产综合草草| 亚洲三级在线免费| 国产精品毛片a∨一区二区三区|国| www.麻豆传媒| 国产精品亚洲天堂| 91视频九色网站| 欧美精品videossex变态| 免费在线看黄色| 亚洲在线观看网站| 久久精品亚洲麻豆av一区二区| 99久久精品国产一区二区三区| 精品国产一二三| 亚洲视频专区在线| 成人精品免费看| 午夜精品一区二区三区在线视| 久久蜜桃一区二区| 女明星视频黄又免费| 岛国精品一区二区三区| 国产在线小视频| 青青国产在线视频| 精品国产髙清在线看国产毛片| 精品国产av无码一区二区三区| 国产精品免费看片| 中国av在线播放| 99re8这里有精品热视频免费| 国产欧美日韩精品丝袜高跟鞋| 国产欧美久久久久| 性生大片免费观看性| 亚洲精品蜜桃乱晃| 久久久视频6r| 四虎成人精品一区二区免费网站| aⅴ在线视频男人的天堂| 亚洲午夜精品久久久久久人妖| 日本精品人妻无码77777| 国产精品直播网红| 欧美日韩一区二区在线播放| 日韩精品免费一区二区三区| 亚洲成人av在线播放|