国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

面試官:為什么 MySQL 使用 B+ 樹?

共 5310字,需瀏覽 11分鐘

 ·

2020-01-01 23:26

為什么 MySQL 使用 B+ 樹是面試中經(jīng)常會出現(xiàn)的問題,很多人對于這個問題可能都有一些自己的理解,但是多數(shù)的回答都不夠完整和準確,大多數(shù)人都只會簡單說一下 B+ 樹和 B 樹的區(qū)別,但是都沒有真正回答 MySQL 為什么選擇使用 B+ 樹這個問題,我們在這篇文章中就會深入分析 MySQL 選擇 B+ 樹背后的一些原因。

概述

首先需要澄清的一點是,MySQL 跟 B+ 樹沒有直接的關(guān)系,真正與 B+ 樹有關(guān)系的是 MySQL 的默認存儲引擎 InnoDB,MySQL 中存儲引擎的主要作用是負責數(shù)據(jù)的存儲和提取,除了 InnoDB 之外,MySQL 中也支持 MyISAM 作為表的底層存儲引擎。

347dfd053ac277956f06f332227ac86f.webp

我們在使用 SQL 語句創(chuàng)建表時就可以為當前表指定使用的存儲引擎,你能在 MySQL 的文檔 Alternative Storage Engines 中找到它支持的全部存儲引擎,例如:MyISAMCSV、MEMORY 等,然而默認情況下,使用如下所示的 SQL 語句來創(chuàng)建表就會得到 InnoDB 存儲引擎支撐的表:

CREATE TABLE t1 (
a INT,
b CHAR (20
), PRIMARY KEY (a)) ENGINE=InnoDB;

想要詳細了解 MySQL 默認存儲引擎的讀者,可以通過之前的文章 『淺入淺出』MySQL 和 InnoDB 了解包括 InnoDB 存儲方式、索引和鎖等內(nèi)容,我們在這里主要不會介紹 InnoDB 相關(guān)的過多內(nèi)容。

我們今天最終將要分析的問題其實還是,為什么 MySQL 默認的存儲引擎 InnoDB 會使用 MySQL 來存儲數(shù)據(jù),相信對 MySQL 稍微有些了解的人都知道,無論是表中的數(shù)據(jù)(主鍵索引)還是輔助索引最終都會使用 B+ 樹來存儲數(shù)據(jù),其中前者在表中會以 的方式存儲,而后者會以 的方式進行存儲,這其實也比較好理解:

  • 在主鍵索引中,id 是主鍵,我們能夠通過 id 找到該行的全部列;

  • 在輔助索引中,索引中的幾個列構(gòu)成了鍵,我們能夠通過索引中的列找到 id,如果有需要的話,可以再通過 id 找到當前數(shù)據(jù)行的全部內(nèi)容;

對于 InnoDB 來說,所有的數(shù)據(jù)都是以鍵值對的方式存儲的,主鍵索引和輔助索引在存儲數(shù)據(jù)時會將 idindex 作為鍵,將所有列和 id 作為鍵對應的值。

7499058420b5258514cce6651aa10d05.webp

在具體分析 InnoDB 使用 B+ 樹背后的原因之前,我們需要為 B+ 樹找?guī)讉€『假想敵』,因為如果我們只有一個選擇,那么選擇 B+ 樹也并不值得討論,找到的兩個假想敵就是 B 樹和哈希,相信這也是很多人會在面試中真實遇到的問題,我們就以這兩種數(shù)據(jù)結(jié)構(gòu)為例,分析比較 B+ 樹的優(yōu)點。

設(shè)計

到了這里我們已經(jīng)明確了今天待討論的問題,也就是為什么 MySQL 的 InnoDB 存儲引擎會選擇 B+ 樹作為底層的數(shù)據(jù)結(jié)構(gòu),而不選擇 B 樹或者哈希?在這一節(jié)中,我們將通過以下的兩個方面介紹 InnoDB 這樣選擇的原因。

  • InnoDB 需要支持的場景和功能需要在特定查詢上擁有較強的性能;

  • CPU 將磁盤上的數(shù)據(jù)加載到內(nèi)存中需要花費大量的時間,這使得 B+ 樹成為了非常好的選擇;

數(shù)據(jù)的持久化以及持久化數(shù)據(jù)的查詢其實是一個常見的需求,而數(shù)據(jù)的持久化就需要我們與磁盤、內(nèi)存和 CPU 打交道;MySQL 作為 OLTP 的數(shù)據(jù)庫不僅需要具備事務(wù)的處理能力,而且要保證數(shù)據(jù)的持久化并且能夠有一定的實時數(shù)據(jù)查詢能力,這些需求共同決定了 B+ 樹的選擇,接下來我們會詳細分析上述兩個原因背后的邏輯。

讀寫性能

很多人對 OLTP 這個詞可能不是特別了解,我們幫助各位讀者快速理解一下,與 OLTP 相比的還有 OLAP,它們分別是 Online Transaction Processing 和 Online Analytical Processing,從這兩個名字中我們就可以看出,前者指的就是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,主要用于處理基本的、日常的事務(wù)處理,而后者主要在數(shù)據(jù)倉庫中使用,用于支持一些復雜的分析和決策。

6ea82264986157d221ebc1a4d2f69655.webp

作為支撐 OLTP 數(shù)據(jù)庫的存儲引擎,我們經(jīng)常會使用 InnoDB 完成以下的一些工作:

  • 通過 INSERTUPDATEDELETE 語句對表中的數(shù)據(jù)進行增加、修改和刪除;

  • 通過 UPDATEDELETE 語句對符合條件的數(shù)據(jù)進行批量的刪除;

  • 通過 SELECT 語句和主鍵查詢某條記錄的全部列;

  • 通過 SELECT 語句在表中查詢符合某些條件的記錄并根據(jù)某些字段排序;

  • 通過 SELECT 語句查詢表中數(shù)據(jù)的行數(shù);

  • 通過唯一索引保證表中某個字段或者某幾個字段的唯一性;

如果我們使用 B+ 樹作為底層的數(shù)據(jù)結(jié)構(gòu),那么所有只會訪問或者修改一條數(shù)據(jù)的 SQL 的時間復雜度都是 O(log n),也就是樹的高度,但是使用哈希卻有可能達到 O(1) 的時間復雜度,看起來是不是特別的美好。但是當我們使用如下所示的 SQL 時,哈希的表現(xiàn)就不會這么好了:

SELECT * FROM posts WHERE author = 'draven' ORDER BY created_at DESC
SELECT * FROM posts WHERE comments_count > 10
UPDATE posts SET github = 'github.com/draveness' WHERE author = 'draven'
DELETE FROM posts WHERE author = 'draven'

如果我們使用哈希作為底層的數(shù)據(jù)結(jié)構(gòu),遇到上述的場景時,使用哈希構(gòu)成的主鍵索引或者輔助索引可能就沒有辦法快速處理了,它對于處理范圍查詢或者排序性能會非常差,只能進行全表掃描并依次判斷是否滿足條件。全表掃描對于數(shù)據(jù)庫來說是一個非常糟糕的結(jié)果,這其實也就意味著我們使用的數(shù)據(jù)結(jié)構(gòu)對于這些查詢沒有其他任何效果,最終的性能可能都不如從日志中順序進行匹配。

c6b7d0eaa75d77b29dacd6a743431c85.webp

使用 B+ 樹其實能夠保證數(shù)據(jù)按照鍵的順序進行存儲,也就是相鄰的所有數(shù)據(jù)其實都是按照自然順序排列的,使用哈希卻無法達到這樣的效果,因為哈希函數(shù)的目的就是讓數(shù)據(jù)盡可能被分散到不同的桶中進行存儲,所以在遇到可能存在相同鍵 author = 'draven 或者排序以及范圍查詢 comments_count > 10 時,由哈希作為底層數(shù)據(jù)結(jié)構(gòu)的表可能就會面對數(shù)據(jù)庫查詢的噩夢 —— 全表掃描。

B 樹和 B+ 樹在數(shù)據(jù)結(jié)構(gòu)上其實有一些類似,它們都可以按照某些順序?qū)λ饕械膬?nèi)容進行遍歷,對于排序和范圍查詢等操作,B 樹和 B+ 樹相比于哈希會帶來更好的性能,當然如果索引建立不夠好或者 SQL 查詢非常復雜,依然會導致全表掃描。

與 B 樹和 B+ 樹相比,哈希作為底層的數(shù)據(jù)結(jié)構(gòu)的表能夠以 O(1) 的速度處理單個數(shù)據(jù)行的增刪改查,但是面對范圍查詢或者排序時就會導致全表掃描的結(jié)果,而 B 樹和 B+ 樹雖然在單數(shù)據(jù)行的增刪查改上需要 O(log n) 的時間,但是它會將索引列相近的數(shù)據(jù)按順序存儲,所以能夠避免全表掃描。

數(shù)據(jù)加載

既然使用哈希無法應對我們常見的 SQL 中排序和范圍查詢等操作,而 B 樹和 B 樹和 B+ 樹都可以相對高效地執(zhí)行這些查詢,那么為什么我們不選擇 B 樹呢?這個原因其實非常簡單 —— 計算機在讀寫文件時會以頁為單位將數(shù)據(jù)加載到內(nèi)存中。頁的大小可能會根據(jù)操作系統(tǒng)的不同而發(fā)生變化,不過在大多數(shù)的操作系統(tǒng)中,頁的大小都是 4KB,你可以通過如下的命令獲取操作系統(tǒng)上的頁大小:

$ getconf PAGE_SIZE
4096

作者使用 macOS 系統(tǒng)的頁大小就是 4KB,當然在不同的計算機上得到不同的結(jié)果是完全有可能的。

當我們需要在數(shù)據(jù)庫中查詢數(shù)據(jù)時,CPU 會發(fā)現(xiàn)當前數(shù)據(jù)位于磁盤而不是內(nèi)存中,這時就會觸發(fā) I/O 操作將數(shù)據(jù)加載到內(nèi)存中進行訪問,數(shù)據(jù)的加載都是以頁的維度進行加載的,然而將數(shù)據(jù)從磁盤讀取到內(nèi)存中所需要的成本是非常大的,普通磁盤(非 SSD)加載數(shù)據(jù)需要經(jīng)過隊列、尋道、旋轉(zhuǎn)以及傳輸?shù)倪@些過程,大概要花費 10ms 左右的時間。

3a18b9aa5cb03f32fe9f0675d6c134c9.webp

我們在估算 MySQL 的查詢時就可以使用 10ms 這個數(shù)量級對隨機 I/O 占用的時間進行估算,這里想要說的是隨機 I/O 對于 MySQL 的查詢性能影響會非常大,而順序讀取磁盤中的數(shù)據(jù)時速度可以達到 40MB/s,這兩者的性能差距有幾個數(shù)量級,由此我們也應該盡量減少隨機 I/O 的次數(shù),這樣才能提高性能。

B 樹與 B+ 樹的最大區(qū)別就是,B 樹可以在非葉結(jié)點中存儲數(shù)據(jù),但是 B+ 樹的所有數(shù)據(jù)其實都存儲在葉子節(jié)點中,當一個表底層的數(shù)據(jù)結(jié)構(gòu)是 B 樹時,假設(shè)我們需要訪問所有『大于 4,并且小于 9 的數(shù)據(jù)』:

d241d9b30091bb80bf8db6413c212136.webp

如果不考慮任何優(yōu)化,在上面的簡單 B 樹中我們需要進行 4 次磁盤的隨機 I/O 才能找到所有滿足條件的數(shù)據(jù)行:

  1. 加載根節(jié)點所在的頁,發(fā)現(xiàn)根節(jié)點的第一個元素是 6,大于 4;

  2. 通過根節(jié)點的指針加載左子節(jié)點所在的頁,遍歷頁面中的數(shù)據(jù),找到 5;

  3. 重新加載根節(jié)點所在的頁,發(fā)現(xiàn)根節(jié)點不包含第二個元素;

  4. 通過根節(jié)點的指針加載右子節(jié)點所在的頁,遍歷頁面中的數(shù)據(jù),找到 7 和 8;

當然我們可以通過各種方式來對上述的過程進行優(yōu)化,不過 B 樹能做的優(yōu)化 B+ 樹基本都可以,所以我們不需要考慮優(yōu)化 B 樹而帶來的收益,直接來看看什么樣的優(yōu)化 B+ 樹可以做,而 B 樹不行。

由于所有的節(jié)點都可能包含目標數(shù)據(jù),我們總是要從根節(jié)點向下遍歷子樹查找滿足條件的數(shù)據(jù)行,這個特點帶來了大量的隨機 I/O,也是 B 樹最大的性能問題。

B+ 樹中就不存在這個問題了,因為所有的數(shù)據(jù)行都存儲在葉節(jié)點中,而這些葉節(jié)點可以通過『指針』依次按順序連接,當我們在如下所示的 B+ 樹遍歷數(shù)據(jù)時可以直接在多個子節(jié)點之間進行跳轉(zhuǎn),這樣能夠節(jié)省大量的磁盤 I/O 時間,也不需要在不同層級的節(jié)點之間對數(shù)據(jù)進行拼接和排序;通過一個 B+ 樹最左側(cè)的葉子節(jié)點,我們可以像鏈表一樣遍歷整個樹中的全部數(shù)據(jù),我們也可以引入雙向鏈表保證倒序遍歷時的性能

217e638baa3d5f1c97be7cc5975eb1cc.webp

有些讀者可能會認為使用 B+ 樹這種數(shù)據(jù)結(jié)構(gòu)會增加樹的高度從而增加整體的耗時,然而高度為 3 的 B+ 樹就能夠存儲千萬級別的數(shù)據(jù),實踐中 B+ 樹的高度最多也就 4 或者 5,所以這并不是影響性能的根本問題。

總結(jié)

任何不考慮應用場景的設(shè)計都不是最好的設(shè)計,當我們明確的定義了使用 MySQL 時的常見查詢需求并理解場景之后,再對不同的數(shù)據(jù)結(jié)構(gòu)進行選擇就成了理所當然的事情,當然 B+ 樹可能無法對所有 OLTP 場景下的查詢都有著較好的性能,但是它能夠解決大多數(shù)的問題。

我們在這里重新回顧一下 MySQL 默認的存儲引擎選擇 B+ 樹而不是哈希或者 B 樹的原因:

  • 哈希雖然能夠提供 O(1) 的單數(shù)據(jù)行操作性能,但是對于范圍查詢和排序卻無法很好地支持,最終導致全表掃描;

  • B 樹能夠在非葉節(jié)點中存儲數(shù)據(jù),但是這也導致在查詢連續(xù)數(shù)據(jù)時可能會帶來更多的隨機 I/O,而 B+ 樹的所有葉節(jié)點可以通過指針相互連接,能夠減少順序遍歷時產(chǎn)生的額外隨機 I/O;

如果想要追求各方面的極致性能也不是沒有可能,只是會帶來更高的復雜度,我們可以為一張表同時建 B+ 樹和哈希構(gòu)成的存儲結(jié)構(gòu),這樣不同類型的查詢就可以選擇相對更快的數(shù)據(jù)結(jié)構(gòu),但是會導致更新和刪除時需要操作多份數(shù)據(jù)。

從今天的角度來看,B+ 樹可能不是 InnoDB 的最優(yōu)選擇,但是它一定是能夠滿足當時設(shè)計場景的需要,從 B+ 樹作為數(shù)據(jù)庫底層的存儲結(jié)構(gòu)到今天已經(jīng)過了幾十年的時間,我們不得不說優(yōu)秀的工程設(shè)計確實有足夠的生命力。而我們作為工程師,在選擇數(shù)據(jù)庫時也應該非常清楚地知道不同數(shù)據(jù)庫適合的場景,因為軟件工程中沒有銀彈。

到最后,我們還是來看一些比較開放的相關(guān)問題,有興趣的讀者可以仔細思考一下下面的問題:

  • 常用于分析的 OLAP 數(shù)據(jù)庫一般會使用什么樣的數(shù)據(jù)結(jié)構(gòu)存儲數(shù)據(jù)?為什么?

  • Redis 是如何對數(shù)據(jù)進行持久化存儲的?常見的數(shù)據(jù)結(jié)構(gòu)都有什么?

Reference

  • B+ tree · Wikipedia

  • What is the difference between Mysql InnoDB B+ tree index and hash index? Why does MongoDB use B-tree?

  • B+Trees and why I love them, part I

  • What are the main differences between INNODB and MYISAM

  • B+ Tree File Organization

  • Database Index: A Re-visit to B+ Tree

  • Fundamentals of database systems



有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)

歡迎大家關(guān)注Java之道公眾號


好文章,我在看??

瀏覽 66
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 天天色色色| 日皮做爱视频网站| 在线观看91| 国产91精品看黄网站在线观看| 豆花av在线| AV黄页| 亚洲第一综合| 欧美黄片一区二区| 伊人久久成人| 一区二区免费在线观看| 688AV秘无码一区二区| 超碰中文在线| 北条麻妃无码一区三区| 中文字幕你懂的在线三级| 日韩欧美一级| 黄色视频网站在线| 天天日天天操天天射| 一区二区高清视频| 国产精品V| www.6969成人片亚洲| 久久99人妻无码精品一区| 福利视频一区二区三区| 91超碰人人| h片免费网站| 在线观看日本黄| 黄色小视频免费| 无码av网| 大香蕉伊人操| 狠狠操狠狠插| 大黑逼AV| 91在线免费看| 黄色成人视频网站| 久草资源视频| 国产成人精品a区在线观看| xiuxiuav| 欧美性爱香蕉视频| 日韩视频一级| 日本一节片在线播放| 黑人av| 综合久久99| 99在线精品视频| 日日撸| 国产九色91回来了| a在线观看| 丰满人妻一区二区三区| 99爱视频| 免费播放片色情A片| 嫩BBB嫩BBB嫩BBB| 91精品久久人妻一区二区夜夜夜 | 伊人狼人香蕉| 欧美天堂成人三级| 久久夜色视频网| 国产精品18在线| 亚洲成人一区二区在线观看| 日韩草逼| 亚洲中文字幕免费视频| 国产对白在线| 麻豆911精一区二区| 国产在线久久久| 国产Av婬乱麻豆| 91视频网站| 青娱乐精品| 大香蕉综合在线| 日韩乱伦AV| 国产精品中文| 国产亚洲久一区二区三区| 亚洲综合成人网| 牛牛精品一区二区| 日本熟妇高潮BBwBBwBBw| 91中文视频| 浮力影院欧美| 台湾成人视频| 日老女人的逼| 97成人人妻一区二区三区| 久久精品9| 欧美视频免费在线观看| 国产免费操逼视频| 国产综合第一页| 激情五月婷婷| 成人黄色在线视频| 狠狠干高清成人二区三区| 国产欧美综合视频| 欧美视频手机在线| 天天搞搞| 嫩草国产在线| 撸一撸av| 青青草伊人大香蕉| 亚洲二区在线| h国产在线| 亚欧成人| 国产又爽又黄免费视频免费| 性无码一区二区三区| 欧美成人视频网站| 超碰av在线| 无码秘蜜桃一区二区| 成人AV免费| 欧美久久一区二区三区四区视频| 黄片精品| 怡红院一区二区| WWW.99热| 国产亚洲色婷婷久久99精品| 特级西西444www精品视频| 男人天堂色| 潮喷av| 亚洲色图在线视频| 最近中文字幕免费mv第一季歌词強上| 俺去操| 国产精品久久久无码专区| 四色婷婷| 欧美韩日一区二区| 狠狠色噜噜狠狠狠888米奇视频| 亚洲人妻影院| 日韩在线视频91| 欧美日韩无码| 黄网在线看| 亚洲一级电影| 中文字幕乱码视频32| 国产特黄级AAAAA片免| 国产精品成人免费| 欧美日韩在线视频一区| 久久精品视频网站| 97午夜| 无码视频一区| 操东北女人| 亚洲av性爱| 9l视频自拍蝌蚪9l视频成人| 无码逼逼| 色婷婷小说| 日韩a级毛片| 91aaa在线观看| 亚洲天堂成人| 米奇7777狠狠狠狠| 福利视频导航自拍| www.99在线| 欧美又粗又长| 亚洲AV永久无码精品| 伊人色五月| 亚洲成人精品| 3DAV一区二区三区动漫| 偷拍一区二区三区| 成人免费视频网| 欧美一级特黄A片免费看| 日韩在线综合| 亚洲日韩在线视频| 日韩成人无码片| 欧美性爱AAA| 日韩在线看片| 精品自拍偷拍| 天天干天天射天天操| 欧美在线观看一区| 欧美+日产+中文| 少妇高潮在线| 久久久综合| 欧美日韩国产一区二区三区| 一本道不卡色色| 蜜乳AV一区二区三区| 三级爱爱| 午夜福利1000| 俺也去av| 日逼视频| 久久精品国产AV| 中文字幕在线乱| 在线观看无码av| 亚洲高清无码一区| 欧美成人精品无码网站| 中文字幕精品一区久久久久| 老太老熟女城中层露脸60| 熟妇在线| 精品在线免费观看| 国产欧美日本视频| 大香蕉伊人视频在线观看| 激情五月婷婷色| 国产成人无码区免费AV片在线| 婷婷色导航| 日韩一级爱爱| 欧美插菊花综合网| 国产精品福利小视频| www.51av| 青青操国产乱伦| 亚洲福利社| 黄色片a片| 欧美婷婷五月天| 91成人在线观看学生和老师| 日韩av在线不卡| 欧美成人免费在线| 乱伦无码视频| 久草人妻| 在线日韩| 日韩爆乳一区二区三区| 天天日天天干天天干| 国产精品一二三| 天天干少妇| 黄色一级片免费观看| 波多野结衣av在线播放| 亚洲无码影视| 九九re| 黄色电影一区二区| 无码黄色片| a色视频| 国产av二区| 无码爱爱| 一区二区AV| 成人无码欧美大片免费看| 国产麻豆一区二区三区| 日本親子亂子倫XXXX50路| 国产成人久久777777黄蓉| 亚洲中文字幕无码爆乳av| 黄色午夜| 熟女人妻人妻の视频| 午夜操人妻| 先锋影音成人资源| 国产一级婬片A片免费无成人黑豆| 国产综合第一页| 91美女在线观看| 四川美人搡BBw搡BBw| 亚洲AV电影网| 女色综合| 精品无码一区二区三区在线| 一区二区视频在线| 中文有码| 91久久人澡人妻人人澡人人爽| 天天色色色| 91九色蝌蚪| 人妻丰满熟妇| 国产精品porn| 天天干视频| 天天干天天色天天射| 免费在线观看视频黄| 黄色AV天堂| 婷婷久草网| 色鬼综合网| 国产精品一卡二卡| 一级A片视频免费看| 欧美日韩国产成人电影| 欧美色图综合网| 丁香五月少妇| 成人午夜啪免费视频在线观看软件| 欧美黄色免费观看| 久久久久久久久久国产精品免费观看-百度 | 成人精品鲁一鲁一区二区| 成人A视频| 日本成人毛片| 亚洲综合激情| 免费AV网站在线| 麻豆AV无码| 无码-ThePorn| 久久视频这里有精品| 淫色五月| 伊人黄片| 污视频网站免费在线观看| 国产欧美日韩| 免费在线观看中文字幕| 亚洲无码AV网站| 人人爽人人爽人人爽| 中文字幕无码精品| 精品国产欧美| 欧美日韩在线免费观看| 午夜精品久久久久久久91蜜桃| 91精品国产麻豆国产自产在线 | 大香蕉久久视频| AA视频网站| 琪琪色在线观看| 亚洲AV第一页| 日韩图色| 农村A片婬片AAA毛片| 欧美性爱第四页| 97黄片| 欧美性生活| 中文熟妇| 欧洲一区二区| 亚洲黄色视频在线免费观看 | 一级免费爱爱视频| 爱逼av| 人人肏肏人人| 97AV视频| 99视频免费看| 欧美大鸡巴在线观看| 精品欧美一区二区精品久久| 日本少妇bbw| 久久草在线播放| 一级免费毛片| 五月丁香欧美综合| 青青草无码成人天堂免费| 精品国产一级A片黄毛网站| 一道本一区二区三区| www.大吊视频| 四虎日韩| 欧美成人视频在线观看| 秋霞理伦| www.人人操| 精品交换一区二区三区无码| 久久亭亭| 成人二区三区| 人人看人人摸人人搞| 悠悠无码一区日韩妇女| 在线免费观看a| 免费看一区二区三区A片| 亚洲最新AV网站| 97成人人妻一区二区三区| 日本AA视频| 91足浴店按摩漂亮少妇| 丁香六月操| 内射视频在线免费观看| 逼特逼| 色婷婷av在线| 日本二区| 欧美女人日逼视频| 亚洲国产高清视频| 午夜福利在线播放| 黄片免费观看视频| 免费看污网站| 91新视频| 波多野结衣视频无码| 久草福利在线视频| 亚洲免费视频在线看| 一级特黄AAAA片| 国产激情内射| 无码成人A片在线观看| 亚洲偷拍中文| 大香蕉精品在线视频| 免费操b视频| 日韩av中文字幕在线| 欧美亚洲国产精品| 密臀av在线| 欧美A级视频在线观看| 久久亚洲综合| 91蜜桃传媒| 艹逼国产| 免费看三级网站| 91视频专区| 国产又黄又大又粗| 精品一区二区ww| 欧美一级特黄AAAAAA片在线视频 | 无码中文综合成熟精品AV电影 | 精品乱子伦一区二区三区免费播放| 中文字幕97| 无码一道本一区二区无码| 一级操逼大片| 青青草激情| 伊人影院在线免费观看| 欧一美一婬一伦一区二区三区黑人 | 中文字幕在线观看日本| 亚洲免费在线婷婷| 国产在线观看免费| 一级片黄色免费| 久久久久久久精| 无套内射免费视频| 色五月天婷婷| 唐嫣一级婬片A片AAA| 无码中文字幕网站| 久久久久久久9999| 国产熟女视频| 成人在线综合| 日韩强操逼网| 一区二区三区久久久久〖网:.〗| 天天爽夜夜爽精品成人免费| 91人妻人人澡人人澡人人精品 | 国产最新在线视频| 999国产精品| 国产草逼网站| 一区二区三区四区免费| 日批视频免费观看| 婷婷射| 特级西西444WWW高清| 日韩无码一区二区三区| 91丨九色丨熟女新版| 亚洲高清无码免费在线观看| 黄色视频在线观看国产| 99插插插| 亚洲无码福利视频| 黄色视频日本免费| 亚洲第一成人网站| 91九色91蝌蚪91成人| 福利黄色片:片| 91豆花成人网站| 国产欧美日韩一区| AV高清无码| 少妇喷水视频| 日韩美女毛片| 俺去俺来也www色官网cms| 特级黄色A片| 手机免费AV| 色悠悠国产| 全部视频午夜寂寞| 国产娇小13videos糟蹋 | 大地影院在线资源观看| 日韩精品一区在线| 日韩一级一级一级| 日韩小视频在线观看| 西欧超碰在线| 天天无码| 欧洲精品视频在线观看| 人人插人人澡| 一级黄色视频在线观看| 色婷婷一二三精品A片| 少妇在线观看| 美女免费网站| 精品国产免费无码久久噜噜噜AV| 日本黄色视频免费观看| 亚洲视频,中文字幕| 五月天亭亭.com| 黄片高清免费| 人人澡人人摸| 日韩www| 青青青草视频在线观看| 欧美色图狠狠干| 亚洲电影在线观看| 亚韩AV| 午夜爽爽视频| 成人A片一级| 欧亚免费视频| 久久天堂影院| 国产91白丝在一线播放| 成人免费三级| 国产另类自拍| 黄色资源在线观看| 欧美熟妇一区二区| 国产一区二区三区成人| 免费一级黄| 欧美在线视频a| 欧美性爱超碰| 国产精品成人无码a无码| 国产理论在线| 炮友露脸青楼传媒刘颖儿| x88AV吊钟奶熟女| 日韩三级黄色| 成人激情视频| 久久免费视屏| 国产精品无码无套在线照片| 福利一区二区视频网| 国产一区二区三区视频在线观看| 翔田千里一区二区三区精品播放| 成人大战香蕉最新视频| 日韩精品成人在线| 欧美成人免费在线| 人人看人人搞人人摸| 欧美综合在线观看| 日韩AV无码成人精品| 手机在线成人视频| jiujiuav| 一级a免一级a做免费线看内裤的注意事项| 久久婷婷青青| 特一级黄色片| 欧美男人的天堂| 毛片A| 爱爱导航| 欧美毛片A| 精品成人在线视频| 国产AV高潮| 国产精品777| 人人草大香蕉| 久久久久久久AV| 玩弄大乳乳妾高潮乳喷视频| 黄色成人网站在线| 国产青草视频| 日韩成人在线看| 波多野结衣黄色视频| 久久精品99久久久久久| 中国a一片一级一片| 怡红影院美乳| 日韩特级片| 日韩一级成人片| 亚洲砖区| 亚洲91视频| 日韩精品成人在线| 91麻豆精品无码人妻| 麻豆精品一区二区三区| 伊人干综合| 91内射视频| 91亚洲国产成人久久精品网站| 人人爽亚洲AV人人爽AV人人片| 麻豆国产视频| 国产黄色免费视频| 免费在线观看一区| 欧美精品毛片| AV高清无码| 呦小BBBB小小BBBB| 69欧美视频| 大香蕉伊人免费| a片免费在线观看| www.尤物视频| 人人上人人摸| 嫩BBB槡BBBB槡BBBB| 大香蕉黄色电影| 黄色激情视频网站| 日韩成人无码免费视频| 国产一区二区不卡视频| 天天影视综合网免费观看电视剧国产| 亚洲AV无码一区| 97无码精品人妻一区二区三区| 日韩乱伦网站| 欧美熟女性爱| 超碰久热| 国产在线拍偷自揄拍无码一区二区| 亚洲精品国产精品国自产| 五月天在线电影| 天天干天天干天天干| 韩国无码一区二区三区| 五月天激情小说网| 永久中文字幕| 国产九九精品| 亚洲免费婷婷| 亚洲无码av在线播放| 欧美久久性爱| 国产av网| 日韩中文字幕无码人妻| 国产福利视频在线| 黄片视频在线免费观看| 亚洲成人视频在线免费观看| 天天干天天日天天干天天日| 免费一级黄色毛片| 91视频亚洲| 97国产免费| 国产a片免费看| 色婷在线视频| 黄网站欧美内射| 亚洲女与黑人正在播放| 日韩人妻一区二区三区| 爱逼av| 天天干人人干| 亚洲AV电影在线| 婷婷五月999| 国产AV大全| 成人三级无码| 九九精品视频在线播放| 麻豆精品秘国产| 动漫av网站| 狠狠操一区| 久久久三级片| 强伦轩人妻一区二区电影| 一区二区三区电影| 国产一級A片免费看| 在线国产激情视频| 熟女资源站| 亚洲无码门| 久久av一区二区三区| 男人AV在线| 无码欧洲| AⅤ在线观看| 黄片观看| 亚洲美女视频在线| 中文字幕色情| 一区二区AV| 国产成人精品视频免费| 欧美又粗又大| 无码中文AV| 99国产免费| 午夜亚洲视频| 操逼视频国产91| 国产精品三级| 天天综合91| 欧美色色色色色色| 西西人体444rt高清大胆模特| 日比视频网站| 嫩BBB搡BBBB搡BBBB-百度| 最新毛片网站〖网:.〗| 日本久久人体视频| 日韩一级片在线观看| www香蕉成人片com| 在线中文无码| 91av免费| 亚洲综合中文字幕在线| 国内精品久久久久久久久久变脸| 国产女人18水真多18精品| 亚洲无码人妻一区| 大吊妞| 久草天堂| 国产精品内射婷婷一级二| 欧美级毛片一夜| 乱伦无码视频| 九九九在线视频| 无码专区中文字幕| 国产夫妻AV| 亚洲精品无码更新| 黄色成年人视频在线观看| 青青草免费福利视频| 天堂A片电影网站在线观看| 亚洲中文在线视频| 苍井空一区二区| 亚洲日韩av在线| 精品在线第一页| 亚洲视频高清无码| 精品一区电影| 日韩网站在线观看| 精品中文在线| 中文字幕亚洲专区| 女人BBBB| 人人肏人人射| 国产高清无码免费视频| 久草在在线视频| 韩国高清无码60.70.80| 高清无码网站| www.亚洲天堂| 日本黄色视频在线| 五月婷婷在线播放| 色色毛片| 国产成人精品免高潮在线人与禽一| 日韩中文无| 成人在线免费电影| 欧美精品性爱视频| 在线欧美日韩| 天天爆操| 免费黄色成人| 另类TS人妖一区二区三区| 日本中文字幕精品| 亚洲操屄| 国产AV综合网| 五月丁香亚洲综合| 亚洲精品A片| 成人性生活影视av| 欧美久久国产精品| 强波多野结衣黑人| 麻豆天美传媒AV果冻传媒| 色色一区| 秋霞福利| 日韩一级无码| 黄色视频在线观看18| 国产在线小视频| 51福利视频| 免费黄片在线看| 超碰在线观看97| 夜夜欢天天干| 国产骚妇| av在线免费播放| 91中文字幕在线| 国产内射在线观看| 日韩成人综合| 豆花成人社区,视频| 日本成人中文字幕| 亚洲欧洲免费视频| 久热国产视频| 一级片日韩| 久久精品视频在线观看| 18禁网站在线| 无码成人片| 国产骚妇| 精品无码视频| 亚洲精品一区二区三区在线观看 | www.777熟女人妻| 久草中文在线视频| 女女女女女女BBBBBB手| 亚洲无码成人AV| 欧洲精品在线免费观看| 亚洲天堂久久久| 91大屁股| 草草操| 999这里只有精品| 久久久久久久9999| sm国产在线调教视频| 色五月激情小说| 竹菊传媒一区二区三区| 黄色在线视频观看| 免费无码一级A片大黄在线观看| 四川少妇bbbbbbbbb| 亚洲激情欧美| 天天拍夜夜拍| 五月天激情导航| 乱伦网址| 久久免费黄色| 婷婷丁香综合| 免费乱伦| 在线观看91| 九九热精品视频| 国产小视频在线观看| 欧美操逼视频| 久操伊人大香蕉| 欧美激情性爱网站| 日韩AV电影网| 8x8拨牐拨牐拨牐永久免费| 欧美性xxxxx| 日日夜夜无码| 日韩日韩日韩| 日韩精品视频一区二区三区| 青娱乐在线视频精品| 老妇槡BBBB槡BBBB槡| 无码成人午夜在线影院| 无码在线电影| 思思99热| 成人在线视频网站| 搡BBB,搡BBBB,搡BBBB| 日韩一级在线| 天天爽夜夜爽精品成人免费| 成人精品永久免费视频99久久精品| 婷婷五月天成人社区| 蜜桃久久精品成人无码AV| 一区黄片| 天天操夜夜爱| 激情五月天导航| 亚洲一区在线免费观看| 国产精品观看| 影音先锋三级片| 性色网站| 麻豆传媒猫爪| 国产精品视频你懂的| 丁香视频在线观看| 日韩欧美大片在线观看| 欧美日韩亚洲成人| jzzijzzij亚洲成熟少妇在线播放| 91足浴店按摩漂亮少妇| 亚洲综合视频在线观看| 久久视频免费看| 99视频免费在线观看| 亚洲一区二区三区在线++中国| 亚洲人成免费网站| 91视频在线免费观看app| 国产一级二级三级久久久| 欧美后门菊门交3p、| 囯产精品99久久久久久WWW| 小黄片在线看| 中文字幕网址在线| 91精品福利| 久久午夜无码鲁片午夜精品男男 | 日韩三级中文| 国产成人小电影| 国产成人无码一区二区在线播放 | 人妻体内射精一区二区| 91精品久久久久| 99电影网手机在线观看| 中国熟女视频| 777米奇视频| 久久久成人影片| 欧美成人免费A级在线观看| 69精品无码成人久久久久久| 欧美丰满少妇人妻精品| 五月婷婷在线观看| 狼人香蕉在线视频| 国产欧美精品一区二区三区| 国产精品免费网站| 丁香婷婷激情五月| 97人妻人人揉人人躁人人| 97久久久| 影音先锋资源| 伊人蕉| 成人丁香五月天| 久久久久久黄色| 一道本无码一区| 久在线观看| 无码一二区| 俺去了无码| 免费看污网站| 18禁污网站| 久久4| 午夜视频福利| 九九r在线精品观看视频| 苏妲己一级婬片A片| 亚洲色图五月天| www.插插| 国产深夜福利| 香蕉成人A片视频| 大香蕉精品欧美色综合2025| 激情五月婷婷网| 日本一区二区视频在线| 无码人妻精品一区二区三区蜜桃91| 欧美一级婬片A片免费软件| 大香蕉伊人在线视频| 亚洲日韩中文无码| 国产一级婬乱片免费| 2019人人操| 五月天欧美性爱| 中文字幕视频2023| 久久精品v| 大肉大捧视频免费观看| 成人AV三级片| 蜜桃传媒一区二区亚洲| 美女毛片视频| 特级大毛片| 亚洲熟妇AV日韩熟妇在线| 无码专区在线观看| 亚洲三级片视频| 91sese| 精品国产AV鲁一鲁一区| 亚洲成人在线观看视频| 国产黄色性爱视频| 国产有码视频| 午夜无码在线观看视频| 91亚瑟视频| 色婷婷小说| 日本特级片| 一区二区高清无码| 西西444WWW无码视频软件| 69人人| 色综合天天综合| 九九热精品在线视频| 午夜五月天| 亚洲AV无码乱码A片无码沈樵| 毛片成人网| 在线观看黄片视频| 欧美怡春院| 天天视频亚洲| 国产AV播放| 一级A黄色片| 亚洲无码在线播放| 久草香蕉| 99精品全国免费观看| 韩日一区| 三级免费无限AV| 国产精品免费久久| 久久成人国产| 黄色一级免费| 九九久久影院| 蜜臀久久99精品久久| 国产一级婬乱片AV片AAA毛片| 在线观看日本vs欧洲vs美洲| 日韩中文毛片| 开心黄色网| 一区二区无码免费| 亚洲一区在线视频| 亚洲AV无码一区二区三区少妇 | 波多野结衣无码一区| 日逼欧美| 女人毛片| 在线播放日韩| 少妇av| 亚洲另类色图| 亚洲AV在线人妻| 亚洲午夜福利视频在线观看| 美女大香蕉| 日韩成人无码AV| 久久久国产一区二区三区| 超碰牛牛| 天天操夜夜撸| 国产成人AV| 国产精品成人免费| 天天草天天干| 午夜天堂精品久久久久| 北岛玲视频在线| 强开小嫩苞一区二区三区网站| 国产精品成人午夜福利| 在线中文字幕在线观看| 国产乱码精品一品二品| 日韩一区在线视频| 亚洲无码中文字幕在线观看| www.色中色| 韩国中文无码| 91人妻无码精品一区二区毛片| 亚洲偷拍中文| 亚洲第一无码| 中文字幕AV在线观看| 五月婷婷色欲| 高清中文字幕在线A片| 欧一美一婬一伦一区二区三区黑人 | 亚洲精品高清视频| 草少妇| 中文字幕免费在线观看| 国产无码做爱视频| 亚洲电影无码| 国产AV福利| 日本中文字幕精品| 成人无遮挡| 大乳奶一级婬片A片| 亚洲福利在线免费观看| 91足浴店按摩漂亮少妇| 国产激情视频在线| 国产欧美另类| 在线观看日韩AV| 久久久国产视频| 国产一级性爱| 农村一级婬片A片AAA毛片古装 | 国产精品视频一区二区三| 广州媚黑妇系列视频在线| 少妇bbw搡bbbb搡bbbb| 久久久精品黄色网址| 中国丰满妇BBwBBwHD| 日逼免费视频| 久久91人妻无码精品蜜桃HD| 肏逼综合网| 人妻无码一区二区三区摄像头| 亚洲免费观看高清视频| 国产在线高清| 超碰成人免费| 精品无码一区二区三区四区五区| 人妻福利导航| 大香蕉伊人视频| 中文字幕在线视频无码| 老婆中文字幕乱码中文乱码| 成人无码视频| 操逼免费视频网站| 草莓视频在线播放| 大香蕉亚洲成人| 成人理伦A级A片在线论坛| 成人午夜福利网站| 第四色色综合| 狠狠躁18三区二区一区免费人| 欧美性爱视频网站| 亚洲免费小电影| 波多野在线视频| 91蜜桃传媒| 欧美国产视频| 国产视频导航| 一本之道DVD不卡视频| 波多野结衣在线网站| 黑人vs亚洲人在线播放| 人妻少妇精品无码| 国产电影一区二区三区| 亚欧美日韩| 日本A片在线播放| 夫妻成人免费看片一区二区 | 青草伊人网| 91黑人丨人妻丨国产丨| 水果派av解说|