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

MySQL索引底層:B+樹詳解

數(shù)據(jù)庫 MySQL
當(dāng)我們發(fā)現(xiàn)SQL執(zhí)行很慢的時候,自然而然想到的就是加索引。對于范圍查詢,索引的底層結(jié)構(gòu)就是B+樹。今天我們一起來學(xué)習(xí)一下B+樹哈~

[[381923]]

前言

當(dāng)我們發(fā)現(xiàn)SQL執(zhí)行很慢的時候,自然而然想到的就是加索引。對于范圍查詢,索引的底層結(jié)構(gòu)就是B+樹。今天我們一起來學(xué)習(xí)一下B+樹哈~

  • 樹簡介、樹種類
  • B-樹、B+樹簡介
  • B+樹插入
  • B+樹查找
  • B+樹刪除
  • B+樹經(jīng)典面試題

樹的簡介

樹的簡介

樹跟數(shù)組、鏈表、堆棧一樣,是一種數(shù)據(jù)結(jié)構(gòu)。它由有限個節(jié)點,組成具有層次關(guān)系的集合。因為它看起來像一棵樹,所以得其名。一顆普通的樹如下:

 

樹是包含n(n為整數(shù),大于0)個結(jié)點, n-1條邊的有窮集,它有以下特點:

  • 每個結(jié)點或者無子結(jié)點或者只有有限個子結(jié)點;
  • 有一個特殊的結(jié)點,它沒有父結(jié)點,稱為根結(jié)點;
  • 每一個非根節(jié)點有且只有一個父節(jié)點;
  • 樹里面沒有環(huán)路

一些有關(guān)于樹的概念:

  • 結(jié)點的度:一個結(jié)點含有的子結(jié)點個數(shù)稱為該結(jié)點的度;
  • 樹的度:一棵樹中,最大結(jié)點的度稱為樹的度;
  • 父結(jié)點:若一個結(jié)點含有子結(jié)點,則這個結(jié)點稱為其子結(jié)點的父結(jié)點;
  • 深度:對于任意結(jié)點n,n的深度為從根到n的唯一路徑長,根結(jié)點的深度為0;
  • 高度:對于任意結(jié)點n,n的高度為從n到一片樹葉的最長路徑長,所有樹葉的高度為0;

樹的種類

 

按照有序性,可以分為有序樹和無序樹:

  • 無序樹:樹中任意節(jié)點的子結(jié)點之間沒有順序關(guān)系
  • 有序樹:樹中任意節(jié)點的子結(jié)點之間有順序關(guān)系

按照節(jié)點包含子樹個數(shù),可以分為B樹和二叉樹,二叉樹可以分為以下幾種:

  • 二叉樹:每個節(jié)點最多含有兩個子樹的樹稱為二叉樹;
  • 二叉查找樹:首先它是一顆二叉樹,若左子樹不空,則左子樹上所有結(jié)點的值均小于它的根結(jié)點的值;若右子樹不空,則右子樹上所有結(jié)點的值均大于它的根結(jié)點的值;左、右子樹也分別為二叉排序樹;
  • 滿二叉樹:葉節(jié)點除外的所有節(jié)點均含有兩個子樹的樹被稱為滿二叉樹;
  • 完全二叉樹:如果一顆二叉樹除去最后一層節(jié)點為滿二叉樹,且最后一層的結(jié)點依次從左到右分布
  • 霍夫曼樹:帶權(quán)路徑最短的二叉樹。
  • 紅黑樹:紅黑樹是一顆特殊的二叉查找樹,每個節(jié)點都是黑色或者紅色,根節(jié)點、葉子節(jié)點是黑色。如果一個節(jié)點是紅色的,則它的子節(jié)點必須是黑色的。
  • 平衡二叉樹(AVL):一 棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,并且左右兩個子樹都是一棵平衡二叉樹

B-樹、B+樹簡介

B-樹簡介

B-樹,也稱為B樹,是一種平衡的多叉樹(可以對比一下平衡二叉查找樹),它比較適用于對外查找。看下這幾個概念哈:

  • 階數(shù):一個節(jié)點最多有多少個孩子節(jié)點。(一般用字母m表示)
  • 關(guān)鍵字:節(jié)點上的數(shù)值就是關(guān)鍵字
  • 度:一個節(jié)點擁有的子節(jié)點的數(shù)量。

一顆m階的B-樹,有以下特征:

  • 根結(jié)點至少有兩個子女;
  • 每個非根節(jié)點所包含的關(guān)鍵字個數(shù) j 滿足:⌈m/2⌉ - 1 <= j <= m - 1.(⌈⌉表示向上取整)
  • 有k個關(guān)鍵字(關(guān)鍵字按遞增次序排列)的非葉結(jié)點恰好有k+1個孩子。
  • 所有的葉子結(jié)點都位于同一層。

一棵簡單的B-樹如下:

 

B+ 樹簡介

B+樹是B-樹的變體,也是一顆多路搜索樹。一棵m階的B+樹主要有這些特點:

  • 每個結(jié)點至多有m個子女;
  • 非根節(jié)點關(guān)鍵值個數(shù)范圍:⌈m/2⌉ - 1 <= k <= m-1
  • 相鄰葉子節(jié)點是通過指針連起來的,并且是關(guān)鍵字大小排序的。

一顆3階的B+樹如下:

 

B+樹和B-樹的主要區(qū)別如下:

  • B-樹內(nèi)部節(jié)點是保存數(shù)據(jù)的;而B+樹內(nèi)部節(jié)點是不保存數(shù)據(jù)的,只作索引作用,它的葉子節(jié)點才保存數(shù)據(jù)。
  • B+樹相鄰的葉子節(jié)點之間是通過鏈表指針連起來的,B-樹卻不是。
  • 查找過程中,B-樹在找到具體的數(shù)值以后就結(jié)束,而B+樹則需要通過索引找到葉子結(jié)點中的數(shù)據(jù)才結(jié)束
  • B-樹中任何一個關(guān)鍵字出現(xiàn)且只出現(xiàn)在一個結(jié)點中,而B+樹可以出現(xiàn)多次。

B+樹的插入

B+樹插入要記住這幾個步驟:

  • 1.B+樹插入都是在葉子結(jié)點進行的,就是插入前,需要先找到要插入的葉子結(jié)點。
  • 2.如果被插入關(guān)鍵字的葉子節(jié)點,當(dāng)前含有的關(guān)鍵字數(shù)量是小于階數(shù)m,則直接插入。
  • 3.如果插入關(guān)鍵字后,葉子節(jié)點當(dāng)前含有的關(guān)鍵字數(shù)目等于階數(shù)m,則插,該節(jié)點開始「分裂」為兩個新的節(jié)點,一個節(jié)點包含⌊m/2⌋ 個關(guān)鍵字,另外一個關(guān)鍵字包含⌈m/2⌉個關(guān)鍵值。(⌊m/2⌋表示向下取整,⌈m/2⌉表示向上取整,如⌈3/2⌉=2)。
  • 4.分裂后,需要將第⌈m/2⌉的關(guān)鍵字上移到父結(jié)點。如果這時候父結(jié)點中包含的關(guān)鍵字個數(shù)小于m,則插入操作完成。
  • 5.分裂后,需要將⌈m/2⌉的關(guān)鍵字上移到父結(jié)點。如果父結(jié)點中包含的關(guān)鍵字個數(shù)等于m,則繼續(xù)分裂父結(jié)點。

以一顆4階的B+樹為例子吧,4階的話,關(guān)鍵值最多3(m-1)個。假設(shè)插入以下數(shù)據(jù)43,48,36,32,37,49,28.

1.在空樹中插入43

 

這時候根結(jié)點就一個關(guān)鍵值,此時它是根結(jié)點也是葉子結(jié)點。

2.依次插入48,36

 

這時候跟節(jié)點擁有3個關(guān)鍵字,已經(jīng)滿了

3.繼續(xù)插入 32,發(fā)現(xiàn)當(dāng)前節(jié)點關(guān)鍵字已經(jīng)不小于階數(shù)4了,于是分裂 第⌈4/2⌉=2(下標0,1,2)個,也即43上移到父節(jié)點。

 

4.繼續(xù)插入37,49,前節(jié)點關(guān)鍵字都是還沒滿的,直接插入,如下:

 

5.最后插入28,發(fā)現(xiàn)當(dāng)前節(jié)點關(guān)鍵字也是不小于階數(shù)4了,于是分裂,于是分裂, 第 ⌈4/2⌉=2個,也就是36上移到父節(jié)點,因父子節(jié)點只有2個關(guān)鍵值,還是小于4的,所以不用繼續(xù)分裂,插入完成

 

B+樹的查找

因為B+樹的數(shù)據(jù)都是在葉子節(jié)點上的,內(nèi)部節(jié)點只是指針索引的作用,因此,查找過程需要搜索到葉子節(jié)點上。還是以這顆B+樹為例吧:

 

B+ 樹單值查詢

假設(shè)我們要查的值為32.

第一次磁盤 I/O,查找磁盤塊1,即根節(jié)點(36,43),因為32小于36,因此訪問根節(jié)點的左邊第一個孩子節(jié)點

 

第二次磁盤 I/O, 查找磁盤塊2,即根節(jié)點的第一個孩子節(jié)點,獲得區(qū)間(28,32),遍歷即可得32.

 

動態(tài)圖如下:

 

B+ 樹范圍查詢

假設(shè)我們要查找區(qū)間 [32,40]區(qū)間的值.

第一步先訪問根節(jié)點,發(fā)現(xiàn)區(qū)間的左端點32小于36,則訪問根節(jié)點的第一個左子樹(28,32);

 

第二步訪問節(jié)點(28,32),找到32,于是開始遍歷鏈表,把[32,40]區(qū)間值找出來,這也是B+樹比B-樹高效的地方。

 

B+樹的刪除

B+樹刪除關(guān)鍵字,分這幾種情況

  • 找到包含關(guān)鍵值的結(jié)點,如果關(guān)鍵字個數(shù)大于⌈m/2⌉-1,直接刪除即可;
  • 找到包含關(guān)鍵值的結(jié)點,如果關(guān)鍵字個數(shù)大于⌈m/2⌉-1,并且關(guān)鍵值是當(dāng)前節(jié)點的最大(小)值,并且該關(guān)鍵值存在父子節(jié)點中,那么刪除該關(guān)鍵字,同時需要相應(yīng)調(diào)整父節(jié)點的值。
  • 找到包含關(guān)鍵值的結(jié)點,如果刪除該關(guān)鍵字后,關(guān)鍵字個數(shù)小于⌈m/2⌉,并且其兄弟結(jié)點有多余的關(guān)鍵字,則從其兄弟結(jié)點借用關(guān)鍵字
  • 找到包含關(guān)鍵值的結(jié)點,如果刪除該關(guān)鍵字后,關(guān)鍵字個數(shù)小于⌈m/2⌉,并且其兄弟結(jié)點沒有多余的關(guān)鍵字,則與兄弟結(jié)點合并。

如果關(guān)鍵字個數(shù)大于⌈m/2⌉,直接刪除即可;

假設(shè)當(dāng)前有這么一顆5階的B+樹

 

如果刪除22,因為關(guān)鍵字個數(shù)為3 > ⌈5/2⌉-1=2, 直接刪除(⌈⌉表示向上取整的意思)

 

如果關(guān)鍵字個數(shù)大于⌈m/2⌉-1,并且刪除的關(guān)鍵字存在于父子節(jié)點中,那么需要相應(yīng)調(diào)整父子節(jié)點的值

 

如果刪除20,因為關(guān)鍵字個數(shù)為3 > ⌈5/2⌉-1=2,并且20是當(dāng)前節(jié)點的邊界值,且存在父子節(jié)點中,所以刪除后,其父子節(jié)點也要響應(yīng)調(diào)整。

 

如果刪除該關(guān)鍵字后,關(guān)鍵字個數(shù)小于⌈m/2⌉-1,兄弟節(jié)點可以借用

以下這顆5階的B+樹,

 

如果刪除15,刪除關(guān)鍵字的結(jié)點只剩1個關(guān)鍵字,小于⌈5/2⌉-1=2,不滿足B+樹特點,但是其兄弟節(jié)點擁有3個元素(7,8,9),可以借用9過來,如圖:

 

在刪除關(guān)鍵字后,如果導(dǎo)致其結(jié)點中關(guān)鍵字個數(shù)不足,并且兄弟結(jié)點沒有得借用的話,需要合并兄弟結(jié)點

以下這顆5階的B+樹:

 

如果刪除關(guān)鍵字7,刪除關(guān)鍵字的結(jié)點只剩1個關(guān)鍵字,小于⌈5/2⌉-1=2,不滿足B+樹特點,并且兄弟結(jié)點沒法借用,因此發(fā)生合并,如下:

 

主要流程醬紫:

  • 因為7被刪掉后,只剩一個8的關(guān)鍵字,不滿足B+樹特點(⌈m/2⌉-1<=關(guān)鍵字<=m-1)。
  • 并且沒有兄弟結(jié)點關(guān)鍵字借用,因此8與前面的兄弟結(jié)點結(jié)合。
  • 被刪關(guān)鍵字結(jié)點的父節(jié)點,7索引也被刪掉了,只剩一個9,并且其右兄弟結(jié)點(18,20)只有兩個關(guān)鍵字,也是沒得借,因此在此合并。
  • 被刪關(guān)鍵字結(jié)點的父子節(jié)點,也和其兄弟結(jié)點合并后,只剩一個子樹分支,因此根節(jié)點(16)也下移了。

所以刪除關(guān)鍵字7后的結(jié)果如下:

 

B+樹經(jīng)典面試題

  • InnoDB一棵B+樹可以存放多少行數(shù)據(jù)?
  • 為什么索引結(jié)構(gòu)默認使用B+樹,而不是hash,二叉樹,紅黑樹,B-樹?
  • B-樹和B+樹的區(qū)別

InnoDB一棵B+樹可以存放多少行數(shù)據(jù)?

這個問題的簡單回答是:約2千萬行。

  • 在計算機中,磁盤存儲數(shù)據(jù)最小單元是扇區(qū),一個扇區(qū)的大小是512字節(jié)。
  • 文件系統(tǒng)中,最小單位是塊,一個塊大小就是4k;
  • InnoDB存儲引擎最小儲存單元是頁,一頁大小就是16k。

 

因為B+樹葉子存的是數(shù)據(jù),內(nèi)部節(jié)點存的是鍵值+指針。索引組織表通過非葉子節(jié)點的二分查找法以及指針確定數(shù)據(jù)在哪個頁中,進而再去數(shù)據(jù)頁中找到需要的數(shù)據(jù);

 

假設(shè)B+樹的高度為2的話,即有一個根結(jié)點和若干個葉子結(jié)點。這棵B+樹的存放總記錄數(shù)為=根結(jié)點指針數(shù)*單個葉子節(jié)點記錄行數(shù)。

  • 如果一行記錄的數(shù)據(jù)大小為1k,那么單個葉子節(jié)點可以存的記錄數(shù) =16k/1k =16.
  • 非葉子節(jié)點內(nèi)存放多少指針呢?我們假設(shè)主鍵ID為bigint類型,長度為8字節(jié),而指針大小在InnoDB源碼中設(shè)置為6字節(jié),所以就是8+6=14字節(jié),16k/14B =16*1024B/14B = 1170

因此,一棵高度為2的B+樹,能存放1170 * 16=18720條這樣的數(shù)據(jù)記錄。同理一棵高度為3的B+樹,能存放1170 *1170 *16 =21902400,也就是說,可以存放兩千萬左右的記錄。B+樹高度一般為1-3層,已經(jīng)滿足千萬級別的數(shù)據(jù)存儲。

為什么索引結(jié)構(gòu)默認使用B+樹,而不是B-Tree,Hash哈希,二叉樹,紅黑樹?

簡單版回答如下:

  • Hash哈希,只適合等值查詢,不適合范圍查詢。
  • 一般二叉樹,可能會特殊化為一個鏈表,相當(dāng)于全表掃描。
  • 紅黑樹,是一種特化的平衡二叉樹,MySQL 數(shù)據(jù)量很大的時候,索引的體積也會很大,內(nèi)存放不下的而從磁盤讀取,樹的層次太高的話,讀取磁盤的次數(shù)就多了。
  • B-Tree,葉子節(jié)點和非葉子節(jié)點都保存數(shù)據(jù),相同的數(shù)據(jù)量,B+樹更矮壯,也是就說,相同的數(shù)據(jù)量,B+樹數(shù)據(jù)結(jié)構(gòu),查詢磁盤的次數(shù)會更少。

B-樹和B+樹的區(qū)別

  • B-樹內(nèi)部節(jié)點是保存數(shù)據(jù)的;而B+樹內(nèi)部節(jié)點是不保存數(shù)據(jù)的,只作索引作用,它的葉子節(jié)點才保存數(shù)據(jù)。
  • B+樹相鄰的葉子節(jié)點之間是通過鏈表指針連起來的,B-樹卻不是。
  • 查找過程中,B-樹在找到具體的數(shù)值以后就結(jié)束,而B+樹則需要通過索引找到葉子結(jié)點中的數(shù)據(jù)才結(jié)束
  • B-樹中任何一個關(guān)鍵字出現(xiàn)且只出現(xiàn)在一個結(jié)點中,而B+樹可以出現(xiàn)多次。

參考與感謝

  • B+樹看這一篇就夠了[1]
  • B樹和B+樹的插入、刪除圖文詳解[2]
  • InnoDB一棵B+樹可以存放多少行數(shù)據(jù)?[3]

本文轉(zhuǎn)載自微信公眾號「撿田螺的小男孩」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系撿田螺的小男孩公眾號。

 

責(zé)任編輯:武曉燕 來源: 撿田螺的小男孩
相關(guān)推薦

2019-08-29 10:46:22

MySQL索引數(shù)據(jù)庫

2020-04-01 18:08:57

MySQL B-樹B+樹

2019-01-29 19:43:10

MySQL索引數(shù)據(jù)庫

2019-09-24 09:33:53

MySQLB+樹InnoDB

2022-03-28 08:24:52

MySQL聚簇索引非聚簇索引

2021-05-19 09:51:31

MySQL-B+樹數(shù)據(jù)

2025-11-03 16:30:44

2020-02-12 19:01:22

索引B-樹B+樹

2024-05-22 09:01:53

InnoDBB+索引

2019-03-14 09:51:50

MySQL存儲邏輯架構(gòu)

2024-11-19 08:40:18

2020-03-19 07:53:56

Mysql引擎B+樹

2021-09-04 11:31:00

MYSQLSQL調(diào)優(yōu)

2022-04-16 14:20:29

MySQL數(shù)據(jù)庫

2024-07-16 08:31:41

2021-03-27 11:05:24

數(shù)據(jù)庫索引MySQL

2025-09-17 07:56:32

2023-07-31 09:12:39

B+樹節(jié)點B+Tree

2021-04-19 10:03:33

MongoDbB 樹 B+ 樹

2021-06-02 10:23:06

索引B+樹數(shù)據(jù)
點贊
收藏

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

东热在线免费视频| 国产精品男女视频| 久久国产精品美女| 亚洲sss视频在线视频| 免费久久99精品国产自| 在线免费观看一区二区| 国产伊人精品| 一区二区三区视频免费| 精品人妻二区中文字幕| xx欧美视频| 亚洲欧美日本在线| 欧美日韩精品久久久免费观看| 中文字幕一区二区免费| 欧美私人啪啪vps| 一本色道久久88综合亚洲精品ⅰ| 日韩欧美色视频| 日韩在线影院| 亚洲mv在线观看| 中文字幕欧美日韩一区二区三区| 日韩一区二区三区不卡| 捆绑变态av一区二区三区| 久久久久久久久久久免费| 日本免费www| 日韩大胆成人| 日韩欧美一级二级| 在线免费观看视频黄| 国产激情在线播放| 自拍偷拍欧美精品| 色综合电影网| 日本高清中文字幕二区在线| 国产一区视频在线看| 国产成人亚洲综合91| 日韩女同强女同hd| 欧美日本一区二区视频在线观看| 精品偷拍一区二区三区在线看| 99精品视频免费版的特色功能| 国产伊人久久| 日韩欧美国产成人| 日本在线xxx| 毛片网站在线看| 亚洲欧美色一区| 亚洲制服欧美久久| 999国产在线视频| 国产欧美日韩在线| 欧美深深色噜噜狠狠yyy| 手机在线观看毛片| 成人高清在线视频| 国产传媒一区二区| 亚洲产国偷v产偷v自拍涩爱| 久久99久久99精品免视看婷婷| 国产va免费精品高清在线观看| 日韩av综合在线| 欧美三级网页| 欧美精品videosex牲欧美| 男女做暖暖视频| 91精品国产91久久久久久黑人| 少妇av一区二区三区| 91激情视频在线观看| 少妇一区二区视频| 亚洲女同性videos| 国产亚洲精品熟女国产成人| 国产一区二区三区四区五区传媒| 亚洲欧美国产视频| 日本污视频网站| 成人羞羞网站入口| 精品国产一区久久久| sm捆绑调教视频| 仙踪林久久久久久久999| 欧美成人高清视频| 久久久久人妻一区精品色欧美| 在线国产日韩| 人人做人人澡人人爽欧美| 五月婷婷激情视频| 美女精品一区二区| 亚洲自拍偷拍区| 天天操天天爱天天干| 久久综合久久综合亚洲| 视频一区二区三区免费观看| 在线免费看黄| 一卡二卡三卡日韩欧美| 国产精品333| www.久久| 精品国产髙清在线看国产毛片| 人妻无码中文久久久久专区| 视频精品在线观看| 久久好看免费视频| 日韩av综合在线| 日韩电影免费在线| 91青青草免费在线看| 少妇喷水在线观看| 国产精品伦理一区二区| 欧美一级中文字幕| 日韩欧美另类一区二区| 在线91免费看| 亚洲av网址在线| 欧美日韩国产在线观看网站 | 好看的亚洲午夜视频在线| 97精品伊人久久久大香线蕉 | 轻轻草成人在线| 亚洲最大福利网站| 日本午夜在线| 亚洲精品成人在线| 日本熟妇人妻中出| 99久久免费精品国产72精品九九| 亚洲天堂av综合网| 国产在线观看成人| 蜜桃久久久久久| 国偷自产av一区二区三区小尤奈| 99免在线观看免费视频高清| 亚洲成人手机在线| 爱豆国产剧免费观看大全剧苏畅| 黄色美女久久久| 久久激情视频免费观看| 六月丁香婷婷综合| 国产不卡在线播放| 一区二区三区偷拍| 欧美gay囗交囗交| 欧美mv日韩mv| 黑人狂躁日本娇小| 久久综合导航| 久久久久久亚洲精品不卡4k岛国| 哥也色在线视频| 欧美午夜宅男影院| 熟女丰满老熟女熟妇| 欧美日韩国产高清| 亚洲一区二区三区在线视频| 国产系列在线观看| 丁香五六月婷婷久久激情| 男人女人拔萝卜视频| 日韩在线二区| 国产精品亚洲欧美导航| 麻豆导航在线观看| 精品高清一区二区三区| 美女伦理水蜜桃4| 欧美99久久| 成人黄在线观看| 99reav在线| 欧美日韩和欧美的一区二区| 男人操女人动态图| 欧美亚洲自偷自偷| 久久亚洲高清| 在线观看的黄色| 国产丝袜视频一区| 西西44rtwww国产精品| 99久久亚洲一区二区三区青草| 中文字幕在线中文| 亚洲精品视频一二三区| 欧美成人在线免费| 精品国产va久久久久久久| 亚洲欧美日韩中文字幕一区二区三区 | 久久在线精品| 日韩精彩视频| 成人国产网站| 色妞久久福利网| 国产一区二区麻豆| 亚洲欧美日韩在线| 欧美一区二区三区影院| 国产专区一区| 国产精品免费在线播放| 嗯啊主人调教在线播放视频 | 538prom精品视频线放| 激情无码人妻又粗又大| 国产一区二区在线免费观看| 91精品一区二区三区四区| 欧洲精品99毛片免费高清观看| 欧美猛交免费看| 人妻偷人精品一区二区三区| 精品国产户外野外| 国产成人av一区二区三区不卡| av成人毛片| 日韩精品久久久毛片一区二区| 精品成人av| 久久深夜福利免费观看| 亚洲精品国产一区二| 欧美日韩美女视频| 夜夜春很很躁夜夜躁| 黄网站免费久久| www.日本少妇| 欧美精品尤物在线观看| 5g国产欧美日韩视频| 国产在线美女| 伊人青青综合网站| 国产999久久久| 欧美性猛交xxxx久久久| 成人做爰视频网站| 成人av第一页| 向日葵污视频在线观看| 欧美日韩国产探花| 欧美一区二区三区精美影视| 成人国产精品| 97免费视频在线播放| 自拍视频在线网| 亚洲黄色有码视频| 91精品国产色综合久久不8| 亚洲国产aⅴ天堂久久| b站大片免费直播| 国产精品18久久久久久久久久久久 | 日韩一区二区三区高清免费看看| 日韩精品一区二区三| 国产日产精品一区| 国产吃瓜黑料一区二区| 秋霞午夜鲁丝一区二区老狼| 国产91沈先生在线播放| 欧美裸体在线版观看完整版| 国产另类自拍| 97精品资源在线观看| 欧美一级成年大片在线观看| 精品麻豆一区二区三区| 亚洲欧美日韩综合| 亚洲精品综合网| 69堂精品视频| 亚洲 日本 欧美 中文幕| 亚洲国产中文字幕在线视频综合 | 特黄特色免费视频| 麻豆视频观看网址久久| 国产亚洲精品网站| 伊人影院久久| 亚洲免费视频播放| 欧美日韩有码| 免费在线一区二区| 极品束缚调教一区二区网站 | 水蜜桃精品av一区二区| 久久精品国产理论片免费| 日韩高清一区| 92看片淫黄大片欧美看国产片| 欧美三级精品| 欧美一区视频在线| 国产无遮挡裸体视频在线观看| 久热精品在线视频| 欧美一级二级三级区| 国产亚洲欧美日韩美女| 欧美美女色图| 亚洲美女www午夜| 无码国产伦一区二区三区视频 | 国产原创在线观看| 色婷婷综合久久久久中文字幕1| 日中文字幕在线| 精品在线观看国产| 四虎影视在线播放| 亚洲欧美国产精品va在线观看| 亚洲 欧美 精品| 亚洲国产中文字幕久久网| 亚洲国产精品久久久久久久| 欧美一二三区精品| 精品国产va久久久久久久| 日韩一级大片在线| 性色av蜜臀av| 精品成人私密视频| 亚洲精品一区二区口爆| 亚洲а∨天堂久久精品喷水| 亚洲精品一区二区三区不卡| 精品国产免费一区二区三区四区| 亚洲黄色在线播放| 精品国产乱码久久久久久免费| www.亚洲黄色| 亚洲国产第一页| 天堂资源最新在线| 国产午夜一区二区| 欧美三级黄网| 欧美精品一区二区免费| 成人影音在线| 欧美一级视频免费在线观看| 一本大道色婷婷在线| 91成人天堂久久成人| 精品3atv在线视频| 国产精品视频自在线| 国产亚洲观看| 国产一区二区三区免费不卡| 欧美禁忌电影| 一区二区日本伦理| 国内精品久久久久国产盗摄免费观看完整版| 日韩精品一区二区在线视频| 国产亚洲在线观看| 另类小说色综合| 国产成人综合自拍| 亚洲午夜久久久久久久久红桃 | 亚洲精品视频免费在线观看| 福利视频在线播放| 久久99精品视频一区97| 亚洲十八**毛片| 成人亚洲欧美一区二区三区| 国产精品nxnn| 日韩欧美亚洲在线| 欧美激情综合色综合啪啪| 男女高潮又爽又黄又无遮挡| 麻豆国产欧美日韩综合精品二区 | 日韩在线第三页| 国产一区二区三区美女| 国产在线观看无码免费视频| 国产精品午夜久久| 18精品爽视频在线观看| 在线一区二区三区| 亚洲精品字幕在线| 色偷偷av一区二区三区| av白虎一区| 国产主播在线一区| 校园春色另类视频| 亚洲乱码日产精品bd在线观看| 一区二区国产在线观看| 在线免费观看av网| 久久久久久日产精品| 久久久久亚洲av无码专区体验| 色哟哟国产精品| 亚洲av综合色区无码一二三区| 亚洲一二在线观看| 538在线精品| 成人乱色短篇合集| 欧美日韩中字| 日韩中文字幕三区| 国产一区二区三区免费播放| 亚洲精品午夜视频| 亚洲成人动漫精品| 国产女人高潮的av毛片| 一本色道久久综合狠狠躁篇怎么玩| 日本乱理伦在线| 国产精品嫩草视频| 女厕嘘嘘一区二区在线播放| 性一交一乱一伧国产女士spa| 久久99国产精品麻豆| 欧美成人午夜精品免费| 亚洲国产一区二区a毛片| 国产三级视频在线播放| 中文字幕亚洲一区二区三区| 亚洲一级少妇| 久久久精品有限公司| 一区久久精品| 亚洲精品鲁一鲁一区二区三区 | 电影91久久久| 亚洲三区在线观看| 日本不卡高清视频| 99精品欧美一区二区| 色天天综合色天天久久| 午夜视频福利在线| 97精品国产97久久久久久春色| 日韩欧美久久| 激情视频小说图片| 国产剧情av麻豆香蕉精品| 国产免费一区二区三区四区| 欧美色图在线观看| 婷婷在线视频| 91久久久久久久久| 91成人观看| 成人三级做爰av| 一区二区在线观看免费| 国产成人精品毛片| 欧美大片第1页| av日韩在线播放| 日韩精品视频在线观看视频| 成人免费视频一区| 日韩免费黄色片| 亚洲免费一在线| 唐人社导航福利精品| 亚洲 国产 日韩 综合一区| 男人操女人的视频在线观看欧美| 色欲AV无码精品一区二区久久| 在线观看国产一区二区| av二区在线| 亚洲直播在线一区| 日韩视频一区| 中文字幕xxx| 欧美丝袜丝nylons| 女女色综合影院| yellow视频在线观看一区二区| 欧美日韩视频一区二区三区| 一边摸一边做爽的视频17国产| 婷婷中文字幕一区三区| 欧洲亚洲精品视频| 国产精品香蕉国产| 欧美另类亚洲| 国产夫妻性爱视频| 欧美在线啊v一区| a级网站在线播放| 国产视频一区二区三区四区| 麻豆九一精品爱看视频在线观看免费| 国产真人做爰视频免费| 91精品国产综合久久福利软件 | 91精品啪在线观看国产18| 国产裸体视频网站| 欧美日韩亚洲系列| 在线观看黄色av| 91传媒视频免费| 一本久道综合久久精品| 99精品全国免费观看| 日韩免费电影一区| 日本欧美一区| 国产精品久久久久久久久电影网| 91麻豆高清视频| 国产免费的av| 日本一区二区在线免费播放| 午夜精品久久久久久久四虎美女版| 91超薄肉色丝袜交足高跟凉鞋| 在线视频一区二区免费| 亚洲综合影视| 欧洲一区二区在线观看| 国产精品综合一区二区三区| 中文字幕视频网| 久久91超碰青草是什么| 欧美日韩一二三四| 999精品免费视频| 91精品国产91久久综合桃花|