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

主頁 > 知識(shí)庫 > 在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法

在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法

熱門標(biāo)簽:北京智能外呼系統(tǒng)供應(yīng)商家 智能電銷機(jī)器人教育 電話機(jī)器人錄音師薪資 無錫梁溪公司怎樣申請400電話 高德地圖標(biāo)注電話怎么沒了 孝感銷售電銷機(jī)器人廠家 中國地圖標(biāo)注省份用什么符號(hào) 江西穩(wěn)定外呼系統(tǒng)供應(yīng)商 奧維地圖標(biāo)注字體大小修改

在本文中,我們將學(xué)習(xí)如何使用PostgreSQL的ltree模塊,該模塊允許以分層的樹狀結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)。

什么是ltree?

Ltree是PostgreSQL模塊。它實(shí)現(xiàn)了一種數(shù)據(jù)類型ltree,用于表示存儲(chǔ)在分層樹狀結(jié)構(gòu)中的數(shù)據(jù)的標(biāo)簽。提供了用于搜索標(biāo)簽樹的廣泛工具。

為什么選擇ltree?

  • ltree實(shí)現(xiàn)了一個(gè)物化路徑,對于INSERT / UPDATE / DELETE來說非???,而對于SELECT操作則較快
  • 通常,它比使用經(jīng)常需要重新計(jì)算分支的遞歸CTE或遞歸函數(shù)要快
  • 如內(nèi)置的查詢語法和專門用于查詢和導(dǎo)航樹的運(yùn)算符
  • 索引?。。?/li>

初始數(shù)據(jù)

首先,您應(yīng)該在數(shù)據(jù)庫中啟用擴(kuò)展。您可以通過以下命令執(zhí)行此操作:

CREATE EXTENSION ltree;

讓我們創(chuàng)建表并向其中添加一些數(shù)據(jù):

CREATE TABLE comments (user_id integer, description text, path ltree);
INSERT INTO comments (user_id, description, path) VALUES ( 1, md5(random()::text), '0001');
INSERT INTO comments (user_id, description, path) VALUES ( 2, md5(random()::text), '0001.0001.0001');
INSERT INTO comments (user_id, description, path) VALUES ( 2, md5(random()::text), '0001.0001.0001.0001');
INSERT INTO comments (user_id, description, path) VALUES ( 1, md5(random()::text), '0001.0001.0001.0002');
INSERT INTO comments (user_id, description, path) VALUES ( 5, md5(random()::text), '0001.0001.0001.0003');
INSERT INTO comments (user_id, description, path) VALUES ( 6, md5(random()::text), '0001.0002');
INSERT INTO comments (user_id, description, path) VALUES ( 6, md5(random()::text), '0001.0002.0001');
INSERT INTO comments (user_id, description, path) VALUES ( 6, md5(random()::text), '0001.0003');
INSERT INTO comments (user_id, description, path) VALUES ( 8, md5(random()::text), '0001.0003.0001');
INSERT INTO comments (user_id, description, path) VALUES ( 9, md5(random()::text), '0001.0003.0002');
INSERT INTO comments (user_id, description, path) VALUES ( 11, md5(random()::text), '0001.0003.0002.0001');
INSERT INTO comments (user_id, description, path) VALUES ( 2, md5(random()::text), '0001.0003.0002.0002');
INSERT INTO comments (user_id, description, path) VALUES ( 5, md5(random()::text), '0001.0003.0002.0003');
INSERT INTO comments (user_id, description, path) VALUES ( 7, md5(random()::text), '0001.0003.0002.0002.0001');
INSERT INTO comments (user_id, description, path) VALUES ( 20, md5(random()::text), '0001.0003.0002.0002.0002');
INSERT INTO comments (user_id, description, path) VALUES ( 31, md5(random()::text), '0001.0003.0002.0002.0003');
INSERT INTO comments (user_id, description, path) VALUES ( 22, md5(random()::text), '0001.0003.0002.0002.0004');
INSERT INTO comments (user_id, description, path) VALUES ( 34, md5(random()::text), '0001.0003.0002.0002.0005');
INSERT INTO comments (user_id, description, path) VALUES ( 22, md5(random()::text), '0001.0003.0002.0002.0006');

另外,我們應(yīng)該添加一些索引:

CREATE INDEX path_gist_comments_idx ON comments USING GIST(path);
CREATE INDEX path_comments_idx ON comments USING btree(path);

正如您看到的那樣,我建立comments表時(shí)帶有path字段,該字段包含該表的tree全部路徑。如您所見,對于樹分隔符,我使用4個(gè)數(shù)字和點(diǎn)。

讓我們在commenets表中找到path以‘0001.0003'的記錄:

$ SELECT user_id, path FROM comments WHERE path @ '0001.0003';
 user_id |   path
---------+--------------------------
  6 | 0001.0003
  8 | 0001.0003.0001
  9 | 0001.0003.0002
  11 | 0001.0003.0002.0001
  2 | 0001.0003.0002.0002
  5 | 0001.0003.0002.0003
  7 | 0001.0003.0002.0002.0001
  20 | 0001.0003.0002.0002.0002
  31 | 0001.0003.0002.0002.0003
  22 | 0001.0003.0002.0002.0004
  34 | 0001.0003.0002.0002.0005
  22 | 0001.0003.0002.0002.0006
(12 rows)

讓我們通過EXPLAIN命令檢查這個(gè)SQL:

$ EXPLAIN ANALYZE SELECT user_id, path FROM comments WHERE path @ '0001.0003';
            QUERY PLAN
----------------------------------------------------------------------------------------------------
 Seq Scan on comments (cost=0.00..1.24 rows=2 width=38) (actual time=0.013..0.017 rows=12 loops=1)
 Filter: (path @ '0001.0003'::ltree)
 Rows Removed by Filter: 7
 Total runtime: 0.038 ms
(4 rows)

讓我們禁用seq scan進(jìn)行測試:

$ SET enable_seqscan=false;
SET
$ EXPLAIN ANALYZE SELECT user_id, path FROM comments WHERE path @ '0001.0003';
               QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------
 Index Scan using path_gist_comments_idx on comments (cost=0.00..8.29 rows=2 width=38) (actual time=0.023..0.034 rows=12 loops=1)
 Index Cond: (path @ '0001.0003'::ltree)
 Total runtime: 0.076 ms
(3 rows)

現(xiàn)在SQL慢了,但是能看到SQL是怎么使用index的。
第一個(gè)SQL語句使用了sequence scan,因?yàn)樵诒碇袥]有太多的數(shù)據(jù)。

我們可以將select “path @ ‘0001.0003'” 換種實(shí)現(xiàn)方法:

$ SELECT user_id, path FROM comments WHERE path ~ '0001.0003.*';
user_id |   path
---------+--------------------------
  6 | 0001.0003
  8 | 0001.0003.0001
  9 | 0001.0003.0002
  11 | 0001.0003.0002.0001
  2 | 0001.0003.0002.0002
  5 | 0001.0003.0002.0003
  7 | 0001.0003.0002.0002.0001
  20 | 0001.0003.0002.0002.0002
  31 | 0001.0003.0002.0002.0003
  22 | 0001.0003.0002.0002.0004
  34 | 0001.0003.0002.0002.0005
  22 | 0001.0003.0002.0002.0006
(12 rows)

你不應(yīng)該忘記數(shù)據(jù)的順序,如下的例子:

$ INSERT INTO comments (user_id, description, path) VALUES ( 9, md5(random()::text), '0001.0003.0001.0001');
$ INSERT INTO comments (user_id, description, path) VALUES ( 9, md5(random()::text), '0001.0003.0001.0002');
$ INSERT INTO comments (user_id, description, path) VALUES ( 9, md5(random()::text), '0001.0003.0001.0003');
$ SELECT user_id, path FROM comments WHERE path ~ '0001.0003.*';
user_id |   path
---------+--------------------------
  6 | 0001.0003
  8 | 0001.0003.0001
  9 | 0001.0003.0002
  11 | 0001.0003.0002.0001
  2 | 0001.0003.0002.0002
  5 | 0001.0003.0002.0003
  7 | 0001.0003.0002.0002.0001
  20 | 0001.0003.0002.0002.0002
  31 | 0001.0003.0002.0002.0003
  22 | 0001.0003.0002.0002.0004
  34 | 0001.0003.0002.0002.0005
  22 | 0001.0003.0002.0002.0006
  9 | 0001.0003.0001.0001
  9 | 0001.0003.0001.0002
  9 | 0001.0003.0001.0003
(15 rows)

現(xiàn)在進(jìn)行排序:

$ SELECT user_id, path FROM comments WHERE path ~ '0001.0003.*' ORDER by path;
 user_id |   path
---------+--------------------------
  6 | 0001.0003
  8 | 0001.0003.0001
  9 | 0001.0003.0001.0001
  9 | 0001.0003.0001.0002
  9 | 0001.0003.0001.0003
  9 | 0001.0003.0002
  11 | 0001.0003.0002.0001
  2 | 0001.0003.0002.0002
  7 | 0001.0003.0002.0002.0001
  20 | 0001.0003.0002.0002.0002
  31 | 0001.0003.0002.0002.0003
  22 | 0001.0003.0002.0002.0004
  34 | 0001.0003.0002.0002.0005
  22 | 0001.0003.0002.0002.0006
  5 | 0001.0003.0002.0003
(15 rows)

可以在lquery的非星號(hào)標(biāo)簽的末尾添加幾個(gè)修飾符,以使其比完全匹配更匹配:
“ @”-不區(qū)分大小寫匹配,例如a @匹配A
“ *”-匹配任何帶有該前綴的標(biāo)簽,例如foo *匹配foobar
“%”-匹配以下劃線開頭的單詞

$ SELECT user_id, path FROM comments WHERE path ~ '0001.*{1,2}.0001|0002.*' ORDER by path;
 user_id |   path
---------+--------------------------
  2 | 0001.0001.0001
  2 | 0001.0001.0001.0001
  1 | 0001.0001.0001.0002
  5 | 0001.0001.0001.0003
  6 | 0001.0002.0001
  8 | 0001.0003.0001
  9 | 0001.0003.0001.0001
  9 | 0001.0003.0001.0002
  9 | 0001.0003.0001.0003
  9 | 0001.0003.0002
  11 | 0001.0003.0002.0001
  2 | 0001.0003.0002.0002
  7 | 0001.0003.0002.0002.0001
  20 | 0001.0003.0002.0002.0002
  31 | 0001.0003.0002.0002.0003
  22 | 0001.0003.0002.0002.0004
  34 | 0001.0003.0002.0002.0005
  22 | 0001.0003.0002.0002.0006
  5 | 0001.0003.0002.0003
(19 rows)

我們來為parent ‘0001.0003'找到所有直接的childrens,見下:

$ SELECT user_id, path FROM comments WHERE path ~ '0001.0003.*{1}' ORDER by path;
 user_id |  path
---------+----------------
  8 | 0001.0003.0001
  9 | 0001.0003.0002
(2 rows)

為parent ‘0001.0003'找到所有的childrens,見下:

$ SELECT user_id, path FROM comments WHERE path ~ '0001.0003.*' ORDER by path;
 user_id |   path
---------+--------------------------
  6 | 0001.0003
  8 | 0001.0003.0001
  9 | 0001.0003.0001.0001
  9 | 0001.0003.0001.0002
  9 | 0001.0003.0001.0003
  9 | 0001.0003.0002
  11 | 0001.0003.0002.0001
  2 | 0001.0003.0002.0002
  7 | 0001.0003.0002.0002.0001
  20 | 0001.0003.0002.0002.0002
  31 | 0001.0003.0002.0002.0003
  22 | 0001.0003.0002.0002.0004
  34 | 0001.0003.0002.0002.0005
  22 | 0001.0003.0002.0002.0006
  5 | 0001.0003.0002.0003
(15 rows)

為children ‘0001.0003.0002.0002.0005'找到parent:

$ SELECT user_id, path FROM comments WHERE path = subpath('0001.0003.0002.0002.0005', 0, -1) ORDER by path;
 user_id |  path
---------+---------------------
  2 | 0001.0003.0002.0002
(1 row)

如果你的路徑不是唯一的,你會(huì)得到多條記錄。

概述

可以看出,使用ltree的物化路徑非常簡單。在本文中,我沒有列出ltree的所有可能用法。它不被視為全文搜索問題ltxtquery。但是您可以在PostgreSQL官方文檔(http://www.postgresql.org/docs/current/static/ltree.html)中找到它。

了解更多PostgreSQL熱點(diǎn)資訊、新聞動(dòng)態(tài)、精彩活動(dòng),請?jiān)L問中國PostgreSQL官方網(wǎng)站:www.postgresqlchina.com

解決更多PostgreSQL相關(guān)知識(shí)、技術(shù)、工作問題,請?jiān)L問中國PostgreSQL官方問答社區(qū):www.pgfans.cn

下載更多PostgreSQL相關(guān)資料、工具、插件問題,請?jiān)L問中國PostgreSQL官方下載網(wǎng)站:www.postgreshub.cn

到此這篇關(guān)于在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的文章就介紹到這了,更多相關(guān)PostgreSQL層次結(jié)構(gòu)數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PostGreSql 判斷字符串中是否有中文的案例
  • PostgreSQL的中文拼音排序案例
  • 自定義函數(shù)實(shí)現(xiàn)單詞排序并運(yùn)用于PostgreSQL(實(shí)現(xiàn)代碼)
  • PostgreSQL將數(shù)據(jù)加載到buffer cache中操作方法
  • postgresql 中的時(shí)間處理小技巧(推薦)
  • Postgresql限制用戶登錄錯(cuò)誤次數(shù)的實(shí)例代碼
  • PostgreSQL用戶登錄失敗自動(dòng)鎖定的處理方案
  • postgresql影子用戶實(shí)踐場景分析
  • 如何使用PostgreSQL進(jìn)行中文全文檢索

標(biāo)簽:海北 通化 泰州 那曲 齊齊哈爾 阜陽 荊州 臨滄

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法》,本文關(guān)鍵詞  在,PostgreSQL,中,使用,ltree,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久操网在线观看| 国产国语刺激对白av不卡| 成人免费福利| 国产色一区二区| 中文字幕日韩精品有码视频| 99精品视频在线免费观看| 国产肉体ⅹxxx137大胆| 亚洲一区三区视频在线观看| 日韩在线你懂的| jizzjizzjizzjizz日本老师| 国产女人被狂躁到高潮小说| 国产精品久久久久aaaa| 丁香啪啪综合成人亚洲| 成人短片线上看| 国产亚洲成aⅴ人片在线观看| 涩涩漫画在线观看| 日韩av在线精品| 九九久久久久久久久激情| 日韩欧美国产小视频| 亚洲啊v在线免费视频| 哺乳挤奶一区二区三区免费看| 九九免费精品视频在线观看| 蜜臀av粉嫩av懂色av| 91精品国产综合久久久久久蜜臀| 亚洲综合在线小说| 日韩免费成人av| 黄色春季福利在线看| 人妻体内射精一区二区三区| 日韩中文字幕视频| 比比资源-先锋影音资源站| 日本人体一区二区| 悠悠色在线精品| 欧美日韩成人精品| 中文字幕视频精品一区二区三区| www.国产精品.com| 中文字幕自拍偷拍| 国产丝袜视频一区| 在线观看av日韩| 国产中文字幕在线播放| 男人天堂网视频| 日韩高清dvd碟片| 老头吃奶性行交视频| 在线免费a视频| 久久成人av网站| 国产黄人亚洲片| 一个人看的免费网站www视频| 日韩美女在线观看一区| 奇门遁甲1982国语版免费观看高清| 色婷婷激情五月| 国模大尺度私拍在线视频| 欧美xxxx在线| 欧美床上激情在线观看| 一区二区三区免费在线视频| 男人操女人在线观看| 91精品久久久久久久久中文字幕| 成人性色av| 久久亚洲人体| 加勒比综合在线| 精品伊人久久97| 免费h视频在线观看| 你懂的网站在线| 一本大道香蕉久久| 欧美三级欧美成人高清www| 97人摸人人澡人人人超一碰| 在线不卡中文字幕播放| 成人精品中文字幕| 国产小视频你懂的| 婷婷在线视频| 伊人色综合影院| 国产一区国产二区国产三区| 蜜臀久久99精品久久久酒店新书| 国产精品一区在线观看你懂的| 乱亲女h秽乱长久久久| 在线视频se| 国产精品一二三视频| 在线免费视频福利| 9l视频自拍蝌蚪9l视频成人| 青青青在线免费观看| 午夜精品成人在线视频| 91精品久久久久久久久久不卡| 岛国一区二区三区| 国产性一级片| 濑亚美莉vs黑人在线观看| 久久亚洲国产| 成人va在线观看| 亚洲精品综合久久中文字幕| 夜夜夜操操操| 欧美欧美一区二区| 国产sm主人调教女m视频| 看全色黄大色黄大片免责看的| 91麻豆精品国产91久久综合| 日韩电影在线免费看| 理论片中文字幕| 日韩欧美国产精品一区| 欧美成人a∨高清免费观看| 亚洲精品午夜国产va久久成人| 人妻精品久久久久中文字幕69| 欧美一级高清免费| 亚洲手机在线观看| 久久99久久99精品免费看小说| 亚洲成av人片在线| 国产精品爱久久久久久久| 亚洲成人a**站| 久久久亚洲福利精品午夜| 9l视频自拍蝌蚪9l视频| 狠狠干狠狠操视频| 九九久久精品这里久久网| 国产美女精品| 久久久久99精品国产片| 午夜影院欧美| 成人av免费电影网站| 亚洲激情视频在线播放| 免费成人网www| 亚洲精品91天天久久人人| 国产亚洲精品久久久久久移动网络| 国产精品一区二区在线观看| 国内外成人免费激情在线视频网站| 国产精品成av人在线视午夜片| 国产精品久久久久久久妇| 亚洲综合在线第一页| 亚洲伊人成人网| 亚洲免费av在线| 国产精品视频免费播放| 日韩一区有码在线| 精品无码在线观看| 国产一区二区黑人欧美xxxx| 成人av综合在线| 无码视频在线观看| 97精品国产一区二区三区| 麻豆视频在线观看免费网站黄| 三级一区在线视频先锋| 成人私拍视频| 精品国产一区二区三区四区| 成人一区而且| 欧美精品久久96人妻无码| а√在线中文网新版地址在线| 麻豆91在线看| 欧美freesex8一10精品| 精品精品国产三级a∨在线| 国产精品一二三| 日本在线不卡视频一二三区| 午夜爽爽爽男女免费观看影院| 国产精品永久在线| 亚洲精品中文字幕乱码三区不卡| 丰满人妻一区二区三区四区53| **女人18毛片一区二区| 99久久婷婷这里只有精品| 亚洲av片一区二区三区| 国产精品无码在线播放| 午夜视频在线瓜伦| 免费看日本毛片| 亚洲高清免费观看高清完整版在线观看| 草草影院在线| 日本韩国免费观看| 在线观看不卡视频| 中文字幕中文字幕一区二区| 双性尿奴穿贞c带憋尿| 亚洲 欧美 成人| 四虎电影院在线观看| 亚洲欧美国产日韩天堂区| 亚洲人a成www在线影院| 涩涩网在线视频| 四虎网站在线观看| 三级在线观看视频| 欧美日韩在线资源| 日韩国产成人无码av毛片| 天堂在线国产| 久操久操久操| 一二美女精品欧洲| 久久久久99精品成人片试看| 久久99国产乱子伦精品免费| 色欧美乱欧美15图片| 公肉吊粗大爽色翁浪妇视频| 免费看美女隐私的视频| 搡女人真爽免费午夜网站| 国产麻豆精品theporn| 欧美日韩一区二区三区不卡| 亚洲天堂网在线观看视频| 亚洲一区二区三区四区av| 在线视频你懂得一区| 最新欧美精品一区二区三区| 亚洲天堂免费av| 中文字幕 亚洲一区| 精品国产乱码久久久久久免费| 特级黄国产片一级视频播放| 久久久久蜜桃| 色诱女教师一区二区三区| www.亚洲男人天堂| 国产免费一区二区三区四在线播放| 日韩成人av网站| 欧美一区二区三区红桃小说| 亚洲欧美乱综合图片区小说区| 91青青草免费在线看| 都市激情久久综合| 日韩脚交footjobhd| 丰满少妇大力进入| 激情都市一区二区| 色综合一区二区日本韩国亚洲| 日韩在线观看a| 亚洲国产裸拍裸体视频在线观看乱了| 一区二区三区高清在线观看| 五月天六月丁香| 美女喷水白浆| 日本在线高清视频一区| 中国av在线播放| 欧美一区二区在线不卡| 91免费国产视频| 国产尤物精品| 亚洲最大的黄色网址| 亚洲日本理论电影| 国产福利一区视频| 日韩av电影中文字幕| 综合久久十次| ...中文天堂在线一区| 不卡一区二区三区四区| 亚洲免费毛片| 国产成人亚洲精品无码h在线| 亚洲精品视频中文字幕| 欧美国产日韩a欧美在线观看| 香蕉视频一区二区三区| 亚洲国产精品嫩草影院久久| 天天干天天操天天爽| 国产亲伦免费视频播放| 99re6热在线精品视频播放速度| 国产精品综合色区在线观看| 黄色一区三区| 久久精品一区二区三区不卡牛牛| 国产在线1区| 一区二区在线中文字幕电影视频| 一区在线中文字幕| 国产高清一区视频| 亚洲精品欧美| 91九色蝌蚪成人| 亚洲精品中文字幕乱码三区不卡| 欧美激情综合色综合啪啪五月| 99re免费99re在线视频手机版| 国产美女福利在线观看| 国产黄色高清在线| 国产丝袜一区二区三区免费视频| 免费黄色av网址| 精品亚洲一区二区三区| 91免费版网站入口| 茄子视频成人免费观看| 亚洲精品日韩激情在线电影| 亚洲精品一区二| 免费永久网站黄欧美| 欧美天堂一区二区三区| 久久久久久国产视频| 成人在线播放av| 无码久久精品国产亚洲av影片| japanese国产精品| 销魂美女一区二区| 头脑特工队2免费完整版在线观看| av网页在线观看| 欧美性xxxx极品hd欧美| 任我爽精品视频在线播放| 中文在线不卡| 婷婷亚洲久悠悠色悠在线播放| 影音先锋在线中文字幕| www.成人网| 99re在线观看| 国内免费精品永久在线视频| 第九色区av在线| 亚洲精品大片| 国产精品入口免费视| 日韩一区二区三区色| 国产欧美一区二区三区在线看| 91精品国产毛片武则天| 怡红院成人在线| 久久人体视频| 久久久视频精品| 日韩高清在线| 先锋影音男人资源网| 成人美女视频在线观看| 91专区视频| 色影院视频在线| 日韩久久精品一区二区三区| 可以在线观看的黄色网址| 欧美激情福利视频在线观看免费| 人妻丰满熟妇av无码久久洗澡| 精品国产福利视频| 中文在线资源天堂| 亚洲美女黄色| 欧美韩国日本在线| 久久综合激情网| 在线成人综合色一区| 午夜精品久久久久久久久久久久久| 99热免费观看| 大地资源中文在线观看免费版| 亚洲区一区二| 亚洲综合日韩欧美| 少妇一级淫片免费放中国| 国产精品三级网站| 91成人理论电影| 国产亚洲第一伦理第一区| 在线观看中文字幕av| 又粗又黑又大的吊av| 精品久久中文| 成人在线分类| 国产日韩精品久久| 在线激情av| 免费91在线视频| 黑人狂躁日本妞一区二区三区| 国产欧美精品一区二区三区四区| 久久精品国产一区二区三区不卡| 天天爱天天做色综合| 污视频软件在线观看| 偷拍女澡堂一区二区三区| 美女的胸无遮挡在线观看| 后入内射无码人妻一区| 疯狂做受xxxx欧美肥白少妇| 欧美日韩性视频一区二区三区| 欧美精品久久久久久久多人混战| 电影天堂爱爱爱爱| 成人国产精品一区二区免费麻豆| 亚洲精品无码一区二区| 奇米影视亚洲色图| 在线综合视频| 风间由美性色一区二区三区四区| 午夜国产福利一区二区| 欧美俄罗斯乱妇| 秋霞电影一区二区| 欧美午夜激情视频| 巨茎人妖videos另类| 欧美1级片网站| 国产又粗又猛又色| 欧美一级欧美三级在线观看| 欧美久久精品一级c片|