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

數據庫表設計,沒有最好只有最適合

運維 數據庫運維
我遇到一些開發人員,為了敷衍了事,在設計數據庫表時,只考慮能否完成眼下的任務,不太注重以后拓展的問題,不考慮查詢起來是否耗性能。可能前期數據量不多的時候,看不出什么影響,但數據量稍微多一點的話,就已經顯而易見了。所以我們在設計數據庫的時候,要找到最適合自己需求的設計方案。

我們在設計數據庫的時候,是否會突破常規,找到最適合自己需求的設計方案,下面來舉個例子:

常用的鄰接表設計,都會添加 一個 parent_id 字段,比如區域表(國、省、市、區):

  1. CREATE TABLE Area ( 
  2.  
  3. [id] [int]  NOT NULL
  4.  
  5. [name] [nvarchar]  (50) NULL
  6.  
  7. [parent_id] [int]  NULL
  8.  
  9. [type] [int]  NULL );  

name:地域的名稱, parent_id 是父ID,省的父ID是國,市的父ID 為省,以此類推。

type 是區域的階級: 1:國,2:省,3:市,4:區

在層級比較確定的情況下,這么設計表格沒有什么問題,調用起來也很方便。

但是使用這種鄰接表設計方式,并不能滿足所有的需求,當我們不確定層級的情況下,假設我有下面一個評論結構:

 

用鄰接表記錄這個評論的數據(comments 表):

 

大家有沒發現,這么設計表,如果要查詢一個節點的所有后代,是很難實現的,你可以使用關聯查詢來獲取一條評論和他的后代:

  1. SELECT c1.*, c2.* FROM comments c1 LEFT OUTER JOIN comments c2 ON c2.parent_id = c1.comment_id; 

然而這個查詢只能獲取兩層的數據。這種樹的特性就是可以任意深地拓展,你需要有相應的方法來獲取它的深度數據。比如,可能需要計算一個評論分支的數量,或者計算一個機械設備的所有的總開銷。

某些情況下,在項目中使用鄰接表正好適用。鄰接表設計的優勢在于能快速的獲取一個給定節點的直接父子節點,它也很容易插入新節點。如果這樣的需求就是你的項目對于分層數據的全部操作,那使用鄰接表就可以很好的工作了。

遇到上述的樹模型,有幾種方案是可以考慮下的:路徑枚舉、嵌套集以及閉包表。這些解決方案通常看上去比鄰接表復雜很多,但它們的確使得某些使用鄰接表比較復雜或很低效的操作變得更簡單。如果你的項目確實需要提供這些操作,那么這些設計會是鄰接表更好的選擇。

一、路徑枚舉

在comments 表中,我們使用類型varchar 的path 字段來替代原來的parent_id 字段。這個path 字段所存儲的內容為當前節點的最頂層祖先到它的自己的序列,就像UNIX的路徑一樣,你甚至可以使用 ‘/’ 作為路徑的分隔符。

 

你可以通過比較每個節點的路徑來查詢一個節點祖先。比如:要找到評論#7, 路徑是 1/4/5/7一 的祖先,可以這么做:

  1. SELECT * FROM comments AS c WHERE '1/4/5/7' LIKE c.path || '%' ; 

這句話查詢語句會匹配到路徑為 1/4/5/%,1/4/% 以及 1/% 的節點,而這些節點就是評論#7的祖先。

同時還可以通過將LIKE 關鍵字兩邊的參數互換,來查詢一個給定節點的所有后代。比如查詢評論#4,路徑path為 ‘1/4’ 的所有后代,可以使用如下語句:

  1. SELECT * FROM comemnts AS c WHERE c.path LIKE '1/4' || '%' ; 

這句查詢語句所有能找到的后臺路徑分別是:1/4/5、1/4/5/6、1/4/5/7。

一旦你可以很簡單地獲取一棵子樹或者從子孫節點到祖先節點的路徑,你就可以很簡單地實現更多的查詢,如查詢一顆子樹所有節點上值的總和。

插入一個節點也可以像使用鄰接表一樣地簡單。你所需要做的只是復制一份要插入節點的父親節點路徑,并將這個新節點的ID追加到路徑末尾即可。

路徑枚舉也存在一些缺點,比如數據庫不能確保路徑的格式總是正確或者路徑中的節點確實存在。依賴于應用程序的邏輯代碼來維護路徑的字符串,并且驗證字符串的正確性開銷很大。無論將varchar 的長度設定為多大,依舊存在長度的限制,因而并不能夠支持樹結構***擴展。

二、 嵌套集

嵌套集解決方案是存儲子孫節點的相關信息,而不是節點的直接祖先。我們使用兩個數字來編碼每個節點,從而表示這一信息,可以將這兩個數字稱為nsleft 和 nsright。

每個節點通過如下的方式確定nsleft 和nsright 的值:nsleft的數值小于該節點所有后代ID,同時nsright 的值大于該節點的所有后代的ID。這些數字和comment_id 的值并沒有任何關聯。

確定這三個值(nsleft,comment_id,nsright)的簡單方法是對樹進行一次深度優先遍歷,在逐層深入的過程中依次遞增地分配nsleft的值,并在返回時依次遞增地分配nsright的值。得到數據如下: 

 

 

一旦你為每個節點分配了這些數字,就可以使用它們來找到指定節點的祖先和后代。比如搜索評論#4及其所有后代,可以通過搜索哪些節點的ID在評論 #4 的nsleft 和 nsright 范圍之間,例:

  1. SELECT c2.* FROM comments AS c1 JOIN comments AS c2 ON c2.nsleft BETWEEN c1.nsleft 
  2.  
  3. AND c1.nsright WHERE c1.comment_id = 4;  

比如搜索評論#6及其所有祖先,可以通過搜索#6的ID在哪些節點的nsleft 和 nsright 范圍之間,例:

  1. SELECT c2.* FROM comments AS c1 JOIN comments AS c2 ON c1.nsleft BETWEEN c2.nsleft 
  2.  
  3. AND c2.nsright WHERE c1.comment_id = 6;  

使用嵌套集設計的主要優勢是,當你想要刪除一個非葉子節點時,它的后代會自動替代被刪除的節點,成為其直接祖先節點的直接后代。就是說已經自動減少了一層。

然而,某些在鄰接表的設計中表現得很簡單的查詢,比如獲取一個節點的直接父親或者直接后代,在嵌套集設計中會變得比較復雜。在嵌套集中,如果需要查詢一個節點的直接父親,我們會這么做,比如要找到評論#6 的直接父親:

  1. SELECT parent.* FROM comments AS c JOIN comments AS parent ON c.nsleft BETWEEN parent.nsleft AND parent.nsright 
  2.  
  3. LEFT OUTER JOIN comments AS in_between ON c.nsleft BETWEEN in_between.nsleft AND in_between.nsright 
  4.  
  5. AND in_between.nsleft BETWEEN parent.nsleft AND parent.nsright WHERE c.comment_id = 6 
  6.  
  7. AND in_between.comment_id IS NULL 

總之有些復雜。

對樹進行操作,比如插入和移動節點,使用嵌套集會比其它設計復雜很多。當插入一個新節點時,你需要重新計算新插入節點的相鄰兄弟節點、祖先節點和它祖先節點的兄弟,來確保他們的左右值都比這個新節點的左值大。同時,如果這個新節點時一個非葉子節點,你還要檢查它的子孫節點。

如果簡單快速查詢是整個程序中最重要的部分,嵌套集是***的選擇,比操作單獨的節點要方便快捷很多。然而,嵌套集的插入和移動節點是比較復雜的,因為需要重新分配左右值,如果你的應用程序需要頻繁的插入、刪除節點,那么嵌套集可能并不合適。

三、閉包表

閉包表是解決分級存儲的一個簡單而優雅的解決方案,它記錄了樹中所有節點間的關系,而不僅僅只有那些直接的父子節點。

在設計評論系統時,我們額外創建了一個叫 tree_paths 表,它包含兩列,每一列都指向 comments 中的外鍵。

我們不再使用comments 表存儲樹的結構,而是將樹中任何具有(祖先 一 后代)關系的節點對都存儲在treepaths 表里,即使這兩個節點之間不是直接的父子關系;同時,我們還增加一行指向節點自己。

 

通過treepaths 表來獲取祖先和后代比使用嵌套集更加的直接。例如要獲取評論#4的后代,只需要在 treepaths 表中搜索祖先是評論 #4的行就行了。同樣獲取后代也是如此。

要插入一個新的葉子節點,比如評論#6的一個子節點,應首先插入一條自己到自己的關系,然后搜索 treepaths 表中后代是評論#6 的節點,增加該節點和新插入節點的“祖先一后代”關系(新節點ID 應該為8):

  1. INSERT INTO treepaths (ancestor, descendant) 
  2.  
  3. SELECT t.ancestor, 8 
  4.  
  5. FROM treepaths AS t 
  6.  
  7. WHERE t.descendant = 6 
  8.  
  9. UNION ALL SELECT 8, 8;  

要刪除一個葉子節點,比如評論#7, 應刪除所有treepaths 表中后代為評論 #7 的行:

  1. DELETE FROM treepaths WHERE descendant = 7; 

要刪除一顆完整的子樹,比如評論#4 和它所有的后代,可刪除所有在 treepaths 表中后代為 #4的行,以及那些以評論#4后代為后代的行。

閉包表的設計比嵌套集更加的直接,兩者都能快捷地查詢給定節點的祖先和后代,但是閉包表能更加簡單地維護分層信息。這兩個設計都比使用鄰接表或者路徑枚舉更方便地查詢給定節點的直接后代和祖先。

然而你可以優化閉包表來使它更方便地查詢直接父親節點或者子節點: 在 treepaths 表中添加一個 path_length 字段。一個節點的自我引用的path_length 為0,到它直接子節點的path_length 為1,再下一層為2,以此類推。這樣查詢起來就方便多了。

總結:你該使用哪種設計?

每種設計都各有優劣,如何選擇設計,依賴于應用程序的哪種操作是你最需要性能上的優化。

 

層級數據設計比較

1、鄰接表是最方便的設計,并且很多程序員都了解它

2、如果你使用的數據庫支持WITH 或者 CONNECT BY PRIOR 的遞歸查詢,那能使得鄰接表的查詢更高效。

3、枚舉路徑能夠很直觀地展示出祖先到后代之間的路徑,但同時由于它不能確保引用完整性,使得這個設計非常脆弱。枚舉路徑也使得數據的存儲變得比較冗余。

4、嵌套集是一個聰明的解決方案,但可能過于聰明,它不能確保引用完整性。***在一個查詢性能要求很高而對其他要求一般的場合來使用它。

5、閉包表是最通用的設計,并且以上的方案也只有它能允許一個節點屬于多棵樹。它要求一張額外的表來存儲關系,使用空間換時間的方案減少操作過程中由冗余的計算所造成的消耗。

這幾種設計方案只是我們日常設計中的一部分,開發中肯定會遇到更多的選擇方案。選擇哪一種方案,是需要切合實際,根據自己項目的需求,結合方案的優劣,選擇最適合的一種。

我遇到一些開發人員,為了敷衍了事,在設計數據庫表時,只考慮能否完成眼下的任務,不太注重以后拓展的問題,不考慮查詢起來是否耗性能。可能前期數據量不多的時候,看不出什么影響,但數據量稍微多一點的話,就已經顯而易見了(例如:可以使用外聯接查詢的,偏偏要使用子查詢)。

我覺得設計數據庫是一個很有趣且充滿挑戰的工作,它有時能體現你的視野有多寬廣,有時它能讓你睡不著覺,總之痛并快樂著。 

責任編輯:龐桂玉 來源: 數據庫開發
相關推薦

2015-03-05 10:07:03

SDN控制器

2018-10-22 14:00:12

數據數據插補數據科學

2009-01-19 16:54:50

數據挖掘CRM孤立點

2021-02-14 10:09:04

數據目錄數據元數據

2020-03-17 15:55:12

Redis數據庫命令

2016-01-26 09:58:28

云存儲云服務云安全

2011-03-21 13:23:25

2015-09-23 13:28:01

大數據分析軟件

2017-03-09 13:30:13

Linux游戲AMD

2012-03-20 09:32:24

Linux服務器

2017-01-10 09:48:58

PHP語言Perl

2018-09-07 06:30:50

物聯網平臺物聯網IOT

2018-07-16 08:50:31

固態硬盤內存

2018-07-23 12:21:27

數據庫,雙活

2017-06-07 11:10:20

數據庫開源開發工具

2015-03-17 10:25:42

IoT物聯網鏈接傳感器

2023-01-13 10:46:42

2015-03-17 16:02:16

大數據混合云云模型

2012-05-16 11:53:39

虛擬化

2019-03-10 22:21:47

框架AI開發
點贊
收藏

51CTO技術棧公眾號

99久久伊人网影院| 911精品美国片911久久久 | 无码黑人精品一区二区| 国产精品免费精品自在线观看| 亚洲一区在线观看网站| 欧美日韩国产综合在线| 怡红院男人天堂| 韩国欧美一区| 在线精品高清中文字幕| 男人添女人荫蒂国产| av综合电影网站| 亚洲欧美另类综合偷拍| 欧美午夜欧美| xxxwww在线观看| 视频在线观看91| 欧美成人h版在线观看| 亚洲精品理论片| 欧美第一在线视频| 在线观看视频一区二区| av网站手机在线观看| 亚洲精品传媒| 久久婷婷一区二区三区| 99久久免费国| 一本色道久久综合熟妇| 在线亚洲一区| 久久国产精品亚洲| ass极品国模人体欣赏| 日韩精品社区| 日韩精品中文字幕一区二区三区 | 亚洲欧美日韩国产yyy| 日韩在线视频观看免费| 久草精品在线观看| 日韩av电影在线播放| 精品一区在线视频| 欧美91精品| 久久精品国产亚洲一区二区| 高潮毛片无遮挡| 一级毛片精品毛片| 3d成人h动漫网站入口| 另类小说色综合| 欧美极度另类| 欧美性videos高清精品| 成人免费a级片| 青春草免费在线视频| 国产精品九色蝌蚪自拍| 天堂精品视频| 九色在线免费| 国产午夜三级一区二区三| 久久久精彩视频| 色婷婷中文字幕| 丰满白嫩尤物一区二区| 91精品天堂| 精品二区在线观看| 国产福利精品导航| 成人av中文| 亚洲国产欧美另类| 成人午夜免费视频| 99国产超薄丝袜足j在线观看| 国产女人18毛片水18精| 国产精品一品视频| 国产精品久久久久av福利动漫| 亚洲精品一区二区三区新线路| 国产成人啪免费观看软件| av色综合网| 蜜臀久久久久久999| 国产69精品久久99不卡| 国产一区二区中文字幕免费看| 女人18毛片一区二区三区| 丁香一区二区三区| 久久精品人人做人人爽电影| 午夜性色福利影院| 久久久不卡影院| 一本久道久久综合狠狠爱亚洲精品| freemovies性欧美| 亚洲视频图片小说| 老子影院午夜伦不卡大全| 高清毛片在线观看| 欧美在线影院一区二区| www.久久久久久久久久久| 日韩精品视频一区二区三区| 亚洲а∨天堂久久精品9966 | 国产精品亲子乱子伦xxxx裸| 影音欧美亚洲| 成人av影院在线观看| 欧美日韩国产精品一区二区不卡中文| 成人在线观看黄| 久久婷婷五月综合色丁香| 欧美一级片免费看| 国产精品无码毛片| 人人狠狠综合久久亚洲婷婷| 美女福利视频一区| 精品成人久久久| 免费人成在线不卡| 粉嫩av四季av绯色av第一区| 日av在线播放| 亚洲人成在线观看一区二区| 免费看黄在线看| 97成人超碰| 精品国产乱码久久久久久1区2区| www在线观看免费视频| 无码一区二区三区视频| 91国语精品自产拍在线观看性色 | 蜜桃久久av一区| 都市激情久久久久久久久久久| 国产露出视频在线观看| 一片黄亚洲嫩模| 久久综合伊人77777麻豆最新章节| 麻豆国产一区| 国产香蕉一区二区三区在线视频| 久久精品www| 久久爱www久久做| 六十路精品视频| 色呦呦在线播放| 欧美日韩日日骚| 香蕉视频黄色在线观看| 亚洲最新av| 国产国语videosex另类| 亚洲毛片在线播放| 中文字幕亚洲不卡| 国产精品免费观看久久| 精品国产18久久久久久二百| 亚洲人成网在线播放| 国产网址在线观看| 国产麻豆日韩欧美久久| 亚洲日本japanese丝袜| 欧美成人黑人| 亚洲精品美女久久| 久久久久久久九九九九| 九九热在线视频观看这里只有精品| 久久国产精品一区二区三区四区| 自拍亚洲图区| 欧美高清视频不卡网| 超碰97av在线| 日韩二区三区在线观看| 久久综合九色欧美狠狠| av在线播放资源| 日韩欧美一区在线观看| 国产三级精品三级观看| 日韩avvvv在线播放| 蜜桃麻豆91| 综合另类专区| 亚洲精品一区二区网址| 天天爽夜夜爽夜夜爽精品| 夫妻av一区二区| 成人免费在线网| jizz国产精品| 国模私拍视频一区| 刘亦菲毛片一区二区三区| 亚洲免费观看高清在线观看| 国产成人美女视频| 亚洲女同一区| 亚洲一区二区久久久久久| 黄色视屏免费在线观看| 91精品国产综合久久香蕉麻豆| 一二三四在线观看视频| 另类欧美日韩国产在线| 亚洲国产精品久久久久婷婷老年| 国内欧美日韩| 久久国产加勒比精品无码| aaa一区二区三区| 一区二区三区资源| 国产51自产区| 99人久久精品视频最新地址| 蜜桃传媒视频第一区入口在线看| 成人性生交大片免费观看网站| 亚洲女人天堂网| 在线观看毛片网站| 中文字幕欧美一区| 91福利视频免费观看| 国产精品大片| 国产在线播放一区二区| 在线天堂中文资源最新版| 国产亚洲福利一区| 国产日韩免费视频| 亚洲sss视频在线视频| 国产精品揄拍100视频| 日韩av一区二区三区| 中文字幕av导航| 在这里有精品| 日韩av免费一区| 免费a级人成a大片在线观看| 欧美第一区第二区| 区一区二在线观看| 自拍偷拍亚洲激情| av网页在线观看| 麻豆精品精品国产自在97香蕉| 在线成人性视频| 国产成人澳门| 国产欧美精品xxxx另类| 丁香花在线高清完整版视频| 国产一区二区三区网站| 99久久99久久久精品棕色圆| 黑人巨大精品欧美一区二区一视频| 亚洲精品一区二区三区影院忠贞| 久久99精品久久久| 久色视频在线播放| 欧美激情另类| 九色综合日本| 超碰国产精品一区二页| 国语自产精品视频在线看| 北条麻妃在线| 亚洲国产91色在线| 91激情在线观看| 精品人伦一区二区三区蜜桃网站| 国产3级在线观看| 91丨九色丨蝌蚪富婆spa| 国产永久免费网站| 欧美一级网站| 福利视频免费在线观看| 999国产精品永久免费视频app| 久久精品日韩精品| 国产精品视频一区二区三区综合| 欧美一区二区.| 特级毛片在线| 久久精品99国产精品酒店日本| 成人午夜视频一区二区播放| 欧美精品欧美精品系列| 久久久蜜桃一区二区| 亚洲一区国产视频| 中文字幕在线观看2018| 国产亚洲精品bt天堂精选| 日韩av无码一区二区三区不卡| 久久国内精品自在自线400部| 中文字幕无码精品亚洲35| 欧美精品观看| 黄色a级在线观看| 狠狠色丁香婷婷综合影院| 国产一区视频观看| 91亚洲精品在看在线观看高清| 国产成人亚洲精品| 成人性生活视频| 欧美在线免费看| 色吧亚洲日本| 97视频免费看| www在线观看黄色| 久久久久久久久亚洲| 亚洲精品白浆| 欧美久久精品午夜青青大伊人| 99re热久久这里只有精品34| 亚洲色图第三页| 蜜桃成人在线视频| 亚洲精品小视频| 伦理片一区二区三区| 亚洲精品一区中文字幕乱码| 天堂在线中文资源| 亚洲国产毛片完整版| 色婷婷在线视频| 精品视频—区二区三区免费| 色婷婷综合视频| 亚洲欧美三级在线| 国产在线91| 在线观看不卡av| 日本在线看片免费人成视1000| 日韩在线一区二区三区免费视频| av大片在线看| 日韩亚洲综合在线| 黄av在线播放| 欧美激情在线观看视频| av白虎一区| 国产91免费看片| www.一区| 91免费版黄色| jizzjizzjizz欧美| 蜜桃999成人看片在线观看| 国产日产一区| 欧美h视频在线观看| 欧美视频网站| 怡红院av亚洲一区二区三区h| 性欧美videos另类喷潮| 国产三级三级三级看三级| 麻豆专区一区二区三区四区五区| 婷婷激情5月天| 成人精品鲁一区一区二区| 欧美深性狂猛ⅹxxx深喉 | 精品国产网站在线观看| 婷婷在线观看视频| 中文字幕精品在线视频| 大片免费在线看视频| 2020欧美日韩在线视频| 国产原创一区| 国产一区国产精品| 日本道不卡免费一区| 日韩中文字幕在线不卡| 免费视频一区| 欧美xxxxxbbbbb| 91浏览器在线视频| 国产精品嫩草影院俄罗斯| 亚洲国产成人va在线观看天堂| 久久久黄色大片| 欧美一区二区三区小说| 水中色av综合| 久久夜色撩人精品| 综合毛片免费视频| 亚洲一区二区三| 精品国产一区二区三区久久久蜜臀| 麻豆一区二区三区在线观看| 亚洲女优在线| 男男受被啪到高潮自述| 久久精品亚洲国产奇米99| 青青草手机在线视频| 日本久久一区二区| 亚洲国产成人一区二区| 在线观看视频99| 黄在线观看免费网站ktv| 成人精品一区二区三区| 亚洲aa在线| 免费高清一区二区三区| 蜜桃视频在线观看一区| 少妇特黄一区二区三区| 一区二区三区视频在线观看| 国产在线一级片| 亚洲电影免费观看高清| 黄色在线播放网站| 国产精品久久综合av爱欲tv| 久久精品色综合| 日韩a级黄色片| 精品系列免费在线观看| 亚洲一区二区自偷自拍| 黄色91在线观看| 精品人妻久久久久一区二区三区| 在线播放日韩专区| 欧美xxx性| 蜜桃av噜噜一区二区三区| 精品动漫3d一区二区三区免费版 | 婷婷激情五月综合| 亚洲精品国产精品自产a区红杏吧| 国产黄网站在线观看| 国产精品久久久久免费a∨大胸| 日韩福利一区二区| 日韩中文有码在线视频| 人人鲁人人莫人人爱精品| 国产三级精品在线不卡| 欧美国产三区| 超碰91在线播放| 亚洲日本乱码在线观看| 91影院在线播放| 上原亚衣av一区二区三区| 成人福利一区二区| 婷婷久久青草热一区二区| 乱人伦精品视频在线观看| 国产亚洲无码精品| 黑人精品xxx一区一二区| 艳母动漫在线看| 奇米一区二区三区四区久久| 麻豆精品99| 国产极品在线视频| 97精品电影院| 久久久久99精品成人片三人毛片| 亚洲国产精品一区二区久| av老司机在线观看| 国产另类第一区| 亚洲尤物在线| 亚洲天堂久久新| 91黄色免费看| 2021av在线| 成人午夜黄色影院| 在线一区免费| 蜜臀视频在线观看| 性久久久久久久| 青青草免费在线| 国产精品网站大全| 66视频精品| 91精品啪在线观看国产| 五月激情丁香一区二区三区| 欧美日韩视频精品二区| 国产精品久久久久久亚洲影视| 成人久久久久| 国产黑丝在线视频| 亚洲丰满少妇videoshd| 日本午夜在线视频| 国产视频观看一区| 欧美一区二区三区久久精品| 美女黄色一级视频| 日本精品一区二区三区高清| 婷婷五月在线视频| 国产精品乱码一区二区三区| 先锋影音国产一区| 亚洲不卡的av| 亚洲成年网站在线观看| 日韩电影免费观| 热这里只有精品| 91亚洲资源网| 一级爱爱免费视频| 国内精品视频一区| 日韩美女一区二区三区在线观看| 18深夜在线观看免费视频| 一本大道久久a久久精二百| 亚洲免费视频一区二区三区| 国产另类自拍| 韩国女主播成人在线观看| 精品成人av一区二区在线播放| 日韩少妇与小伙激情| 丝袜连裤袜欧美激情日韩| 中文字幕精品一区二区三区在线| 五月天激情综合| 老司机99精品99| 免费亚洲精品视频| 国产乱妇无码大片在线观看| 国产精品久久久久久人| 欧美日韩成人黄色|