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

面試官問我 InnoDB 的物理存儲結(jié)構(gòu)!

數(shù)據(jù)庫 MySQL
所謂物理存儲結(jié)構(gòu),指的是 MySQL 的數(shù)據(jù)是怎么存儲在物理介質(zhì)上的,由哪些磁盤文件組成。所謂邏輯存儲結(jié)構(gòu),指的是這些數(shù)據(jù)是如何有結(jié)構(gòu)地組織起來的。

前段時間去面試,面試官突然問我:聊聊 InnoDB 的物理存儲結(jié)構(gòu)吧!

樹義突然又眼圈一黑,啥都想不起來了!

雖說之前有大致了解過 MySQL,但對 InnoDB 的物理結(jié)構(gòu),卻真的沒咋了解過!那么,今天就來聊聊 InnoDB 的物理存儲結(jié)構(gòu)吧!

相信很多人都知道邏輯結(jié)構(gòu)和物理結(jié)構(gòu)這兩個概念,但是都很好奇它們的區(qū)別是什么?

簡單地說:所謂物理存儲結(jié)構(gòu),指的是 MySQL 的數(shù)據(jù)是怎么存儲在物理介質(zhì)上的,由哪些磁盤文件組成。所謂邏輯存儲結(jié)構(gòu),指的是這些數(shù)據(jù)是如何有結(jié)構(gòu)地組織起來的。

此文所描述的 InnoDB 物理存儲結(jié)構(gòu),依據(jù)的是 MySQL 8.0 版本。

從 MySQL 官方文檔中,我們可知 InnoDB 在物理層面上可劃分為如下 7 個模塊:

  • 系統(tǒng)表空間(System Tablespace)
  • 雙寫緩存文件(Doublewrite Buffer Files)
  • Undo 表空間(Undo Tablespaces)
  • Redo Log 文件(Redo Log)
  • 獨占表空間(File-Per-Table Tablespaces)
  • 通用表空間(General Tablespaces)
  • 臨時表空間(Temporary Tablespaces)

而在這 7 個模塊中,最為關(guān)鍵的是如下三個模塊:系統(tǒng)表空間(System Tablespace)、獨立表空間(File-Per-Table Tablespaces)、日志文件組(Redo Log)。

InnoDB 磁盤存儲結(jié)構(gòu) MySQL 8.0

系統(tǒng)表空間(System Tablespace)

在開始之前,我們需要理解表空間這個概念。其實表空間,就是存儲表的空間之意。它是 InnoDB 用于描述數(shù)據(jù)存儲的術(shù)語,大致是存儲表相關(guān)數(shù)據(jù)的地方之意。系統(tǒng)表空間,顧名思義就是 InnoDB 這個系統(tǒng)的默認(rèn)表空間,也叫共享表空間,對應(yīng)的是 MySQL 數(shù)據(jù)目錄下的 ibdata1 文件。如果我們將 innodb_file_per_table 設(shè)置為 off,那么我們使用 CREATE TABLE 語句創(chuàng)建的表數(shù)據(jù),都會存儲在系統(tǒng)表空間中。

而如果我們將 innodb_file_per_table 設(shè)置為 on,則每個表將獨立地產(chǎn)生一個表空間文件,以 ibd 結(jié)尾,數(shù)據(jù)、索引、表的內(nèi)部數(shù)據(jù)字典信息都將保存在這個單獨的表空間文件中。但是還有一些信息,例如 undo log 信息,還是會保存在系統(tǒng)表空間中。例如我們在 test 數(shù)據(jù)庫中創(chuàng)建了一個名為 user 的表,那么就會在 MySQL 的數(shù)據(jù)文件夾的 test 文件夾下,有一個名為 user.ibd 文件。

我們注意到系統(tǒng)表空間還有一個名為 change buffer 的東西,它到底是啥東西呢?

change buffer,其實在之前版本是插入緩沖(insert buffer),后續(xù)版本變成了 change buffer(參考:內(nèi)幕 2.4.1 章節(jié))。這一塊區(qū)域就是 Change Buffer。5.5 之前叫 Insert Buffer 插入緩沖,現(xiàn)在也能支持 delete 和 update,最后把 Change Buffer 記錄到數(shù)據(jù)頁的操作叫做 merge。

這里面有一句話很關(guān)鍵:除了主鍵聚合索引外,還產(chǎn)生了一個 name 列的輔助索引,對于該非聚集索引來說,葉子節(jié)點的插入不再有序,這時就需要離散訪問非聚集索引頁,插入性能變低。

這句話的意思是:聚集索引的插入是有序自增的,那么插入的時候直接跟在后面就可以了,不需要再做其他隨機(jī)訪問操作。而由于插入的非聚集索引列,并不是有序的,可能會插在中間,這時候就需要看看中間這個頁是否加載到內(nèi)存里。如果加載了,那還好,那就做 B+ 樹操作,調(diào)整就行。不在內(nèi)存里的話,那就麻煩了,需要讀取多次 page 到內(nèi)存。

為了提高效率,就弄了一個 insert buffer,簡單地說,就是把多次 insert 或者修改操作,先緩存起來,然后等到差不多的時候,再一起去做,提高效率,避免多次 IO 讀取。

插入緩沖,并不是緩存的一部分,而是物理頁,對于非聚集索引的插入或更新操作,不是每一次直接插入索引頁。而是先判斷插入的非聚集索引頁是否在緩沖池中。如果在,則直接插入,如果不再,則先放入一個插入緩沖區(qū)中。然后再以一定的頻率執(zhí)行插入緩沖和非聚集索引頁子節(jié)點的合并操作。

當(dāng)需要更新一個數(shù)據(jù)頁時,如果數(shù)據(jù)頁在內(nèi)存中就直接更新,而如果這個數(shù)據(jù)頁還沒有在內(nèi)存中的話,在不影響數(shù)據(jù)一致性的前提下,InnoDB 會將這些更新操作緩存在 change buffer 中,這樣就不需要從磁盤中讀入這個數(shù)據(jù)頁了。在下次查詢需要訪問這個數(shù)據(jù)頁的時候,將數(shù)據(jù)頁讀入內(nèi)存,然后執(zhí)行 change buffer 中與這個頁有關(guān)的操作。

雙寫緩存文件(Doublewrite Buffer Files)

如果說插入緩沖帶給 InnoDB 存儲引擎的是性能,那么雙寫帶給 InnoDB 存儲引擎的是數(shù)據(jù)的可靠性。當(dāng)數(shù)據(jù)庫宕機(jī)時,可能數(shù)據(jù)庫正在寫一個頁面,而這個頁只寫了一部分(比如 16K 的頁,只寫了前 4K 的頁),我們稱之為寫失效。在 InnoDB 存儲引擎未使用 double write 之前,曾出現(xiàn)過因為部分寫失效而導(dǎo)致數(shù)據(jù)丟失的情況。

InnoDB 存儲引擎 double write 的體系架構(gòu)如下圖所示:

雙寫緩存(double write)示意圖

double write 由兩部分組成:一部分是內(nèi)存中的 double write buffer,大小為 2MB。另一部分是物理磁盤上共享表空間中連續(xù)的 128 個頁,即兩個區(qū),大小同樣為 2MB。

當(dāng)緩沖池的臟頁刷新時,并不直接寫磁盤,而是會他通過 memcpy 函數(shù)將臟頁先拷貝到內(nèi)存中的 doublewrite buffer,之后通過 doublewrite buffer 再分兩次,每次寫入 1MB 到共享表空間的物理磁盤上,然后馬上調(diào)用 fsync 函數(shù),同步磁盤,避免緩沖寫帶來的問題。在這個過程中,因為 doublewrite 頁是連續(xù)的,因此這個過程是順序?qū)懀_銷不是很大。

在完成 doublewrite 頁的寫入之后,再將 doublewrite buffer 中的頁寫入各個表空間文件中,此時的寫入則是離散的。我們可以通過 show global status like 'innodb_dblwr%'\G 觀察具體情況。

所以說雙寫,其實指的是刷臟頁的時候,即會將臟頁數(shù)據(jù)寫入共享表空間的 2 個頁中,也會寫入具體的表空間中,共享表空間的數(shù)據(jù)起到備份作用。

如果操作系統(tǒng)在將頁寫入具體的表空間過程中崩潰了,在恢復(fù)過程中,InnoDB 存儲引擎可以從共享表空間中的 doublewrite 中找到該頁的一個副本,將其拷貝到表空間文件,再應(yīng)用重做日志。

Undo 表空間(Undo Tablespaces)

undo Log 的數(shù)據(jù)默認(rèn)在系統(tǒng)表空間 ibdata1 文件中,因為共享表空間不會自動收縮,也可以單獨創(chuàng)建一個 undo 表空間。

一些疑問,關(guān)于 rollback segment 與 undo log?

很多時候,我們不太懂,為啥一些說 undo log 在系統(tǒng)表空間,而官方的圖卻有 undo tablespace ?下面這段話,描述得很清楚,原因是版本變化!

Rollback Segment(rseg)稱為回滾段。Mysql5.6 之前 undo 默認(rèn)記錄到系統(tǒng)表空間(ibdata),如果開啟了 innodb_file_per_table ,將放在每個表的.ibd 文件中。5.6 之后還可以創(chuàng)建獨立的 undo 表空間,8 之后更是默認(rèn)打開獨立 undo 表空間,最低數(shù)量為 2,這樣才能保證至少一個 undo 表空間進(jìn)行 truncate,一個 undo 表空間繼續(xù)使用。

每個 rollback Segment 中默認(rèn)有 1024 個 undo log segment,mysql5.5 后 1 個 undo 表空間支持 128 個 rollback Segment。0 號 rollback Segment 默認(rèn)在系統(tǒng)表空間 ibdata 中,1-32rollback Segment 在臨時表空間,33~128 在獨立 undo 表空間中(沒有打開則在系統(tǒng)表空間 ibdata 中,這樣系統(tǒng)表空間會太大),所以 1 個表空間最多支持 96*1024 個事務(wù),超了就報錯啦。

一個 undo log segment 稱為 undo log 或 undo slot 或 undo;一個 undo log 對象對應(yīng)多個 undo log record,也就是記錄的歷史版本。(Rollback segment -> 多個 Undo log segment (undo log) -> 多個 undo log record)。

疑問 2:mysql rollback segment 和 undo segment 區(qū)別

感覺這兩個應(yīng)該是差不多的呀?

結(jié)論:Rollback segment 與 undo segment 是包含的關(guān)系,每個 Rollback segment 有 1024 個 undo segment。

undo log 有兩個作用:提供回滾和多個行版本控制 (MVCC)。

在數(shù)據(jù)修改的時候,不僅記錄了 redo,還記錄了相對應(yīng)的 undo,如果因為某些原因?qū)е率聞?wù)失敗或回滾了,可以借助該 undo 進(jìn)行回滾。

undo log 和 redo log 記錄物理日志不一樣,它是邏輯日志。可以認(rèn)為當(dāng) delete 一條記錄時,undo log 中會記錄一條對應(yīng)的 insert 記錄,反之亦然,當(dāng) update 一條記錄時,它記錄一條對應(yīng)相反的 update 記錄。

rollback segment 稱為回滾段,每個回滾段中有 1024 個 undo log segment。

Redo Log 文件(Redo Log)

redo log 即重做日志,從字面意思來看,其表示可以將事情重做一遍的意思。而事實上,它確實是代表著這個意思。對于上文的更新語句 update t set c=c+1 where id = 2,我們的正常實現(xiàn)思路應(yīng)該是:

找到 id 為 2 的記錄,取出其 c 字段的值。

將 c 字段的值加一,之后將 id 為 2 的字段的 c 字段更新。

但實際上 MySQL 并不是這么做的,因為上述這種實現(xiàn)方式雖然能實現(xiàn),但是每次都要去讀取磁盤查找記錄、寫入磁盤更新記錄,整個過程的磁盤 IO 成本很高。為了提高效率,MySQL 使用了一種叫做 WAL(Write-Ahead Logging)的技術(shù),即寫之前先記錄變更日志(redo log),等待合適的時間再將其變更應(yīng)用到數(shù)據(jù)庫里。因為我們將操作記錄下來了,所以我們可以復(fù)現(xiàn)這個操作,這就好像我們將事情重現(xiàn)了一樣,因此叫 redo log。

使用 WAL 技術(shù),上面這條更新語句的大致實現(xiàn)思路就變成了:

記錄下更新操作日志:其要將 id 為 2 的記錄的 c 字段加 1。

某個時刻,MySQL 數(shù)據(jù)庫應(yīng)用這個 redo log 日志,將數(shù)據(jù)庫 id 為 2 的記錄的 c 字段加 1。

注意:redo log 并不會應(yīng)用于磁盤的表空間,而是在重啟時應(yīng)用于內(nèi)存表空間緩存,用于實現(xiàn) crash-safe。

可以看到,使用 WAL 技術(shù)的方式,可以不需要去讀寫磁盤,極大提高了執(zhí)行效率。

我們舉一個很形象的例子來理解 WAL 技術(shù)。想象有一個酒館,生意非常好,老板也愿意賒賬。每次別人想要賒賬,老板都得去翻賬本,看看這個人有沒有賒過賬,有賒賬的話就需要在原來的賒賬金額上再加上本次消費的金額。

在平時酒館人不多的時候,這種方式還是可以應(yīng)付應(yīng)付的。但是一旦到了酒館高峰期的時候,每個人都等著結(jié)賬,這時候再用這種方式去結(jié)賬,很可能讓客戶等太久,引起民憤。于是老板想了個辦法:我不去賬本上找誰賒賬了,我直接在黑板上記錄下誰賒賬了多少錢。例如:張三賒賬 3 塊銀元,李四賒賬 4 塊銀元。

等生意沒那么忙的時候,老板拿出賬本,將粉板上的變更記錄進(jìn)賬本:哦,之前張三賒賬了 4 塊銀元,現(xiàn)在又賒賬了 3 塊銀元,所以張三現(xiàn)在總共賒賬 7 塊銀元。在這個例子中,賬本就相當(dāng)于我們的 MySQL 數(shù)據(jù)庫,粉板就相當(dāng)于我們的 redo log,它將消費記錄保存下來。

獨占表空間(File-Per-Table Tablespaces)

如果我們將 innodb_file_per_table 設(shè)置為 on,則每個表將獨立地產(chǎn)生一個表空間文件,以 ibd 結(jié)尾,數(shù)據(jù)、索引、表的內(nèi)部數(shù)據(jù)字典信息都將保存在這個單獨的表空間文件中。但是還有一些信息,例如 undo log 信息,還是會保存在系統(tǒng)表空間中。例如我們在 test 數(shù)據(jù)庫中創(chuàng)建了一個名為 user 的表,那么就會在 MySQL 的數(shù)據(jù)文件夾的 test 文件夾下,有一個名為 user.ibd 文件。

通用表空間(General Tablespaces)

通用表空間是后續(xù)的 MySQL 推出的表空間,其與系統(tǒng)表空間類似,可以用于存儲表的數(shù)據(jù)和索引。其作用是可以將一些業(yè)務(wù)邏輯不同的表,存放在這個通用表空間中,從而達(dá)到物理隔離的作用。

臨時表空間(Temporary Tablespaces)

存儲臨時表的數(shù)據(jù),包括用戶創(chuàng)建的臨時表,和磁盤的內(nèi)部臨時表。對應(yīng)數(shù)據(jù)目錄下的 ibtmp1 文件。當(dāng)數(shù)據(jù)服務(wù)器正常關(guān)閉時,該表空間被刪除,下次重新產(chǎn)生。

參考資料:

  • MySQL :: MySQL 5.7 Reference Manual :: 14.6.3 Tablespaces
  • InnoDB 內(nèi)存結(jié)構(gòu)和磁盤結(jié)構(gòu)_wang2963973852 的博客 - CSDN 博客
  • [Mysql] 漫游 undo log | 土川的自留地
  • 詳細(xì)分析 MySQL 事務(wù)日志 (undo log) - 裸奔的小鴕鳥 - 博客園
責(zé)任編輯:武曉燕 來源: 陳樹義
相關(guān)推薦

2021-03-11 08:51:00

存儲面試位置

2021-12-02 08:19:06

MVCC面試數(shù)據(jù)庫

2020-04-16 08:22:11

HTTPS加解密協(xié)議

2021-05-20 08:54:16

Go面向對象

2010-08-23 15:06:52

發(fā)問

2021-06-03 08:55:54

分布式事務(wù)ACID

2020-08-10 07:58:18

異步編程調(diào)用

2022-10-17 00:04:30

索引SQL訂單

2020-12-03 07:39:50

HashMap底層數(shù)據(jù)

2022-04-10 18:10:24

CURD鏈表

2021-05-19 08:17:35

秒殺場景高并發(fā)

2021-05-08 07:53:33

面試線程池系統(tǒng)

2022-04-01 07:52:42

JavaScript防抖節(jié)流

2021-09-29 19:17:51

編碼URLEncodeGBK

2021-04-14 18:58:01

虛擬機(jī) Java內(nèi)存

2021-08-28 09:06:11

Dubbo架構(gòu)服務(wù)

2015-08-13 10:29:12

面試面試官

2022-02-09 09:37:54

ReactorNettyI/O

2020-10-26 07:07:50

線程安全框架

2022-10-08 00:08:00

apiESFacebook
點贊
收藏

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

精品日产乱码久久久久久仙踪林| 黄a在线观看| 裸体素人女欧美日韩| 在线激情影院一区| 韩国一区二区三区四区| 麻豆成全视频免费观看在线看| 2022国产精品视频| 成人黄色在线观看| 成年免费在线观看| 99久久激情| 日韩毛片在线看| а 天堂 在线| 免费h视频在线观看| 国产欧美一区二区三区沐欲| 91成人免费视频| www五月天com| 狠狠综合久久| 日韩最新在线视频| 国产精品1000部啪视频| 精品一区二区三区亚洲| 在线日韩国产精品| 僵尸世界大战2 在线播放| 香蕉视频免费在线播放| 97se亚洲国产综合在线| 成人欧美一区二区三区在线湿哒哒| 日韩xxxxxxxxx| 亚洲高清影视| 夜夜嗨av一区二区三区免费区| 免费不卡的av| www.久久久.com| 精品视频1区2区| 欧美日韩在线中文| а√在线天堂官网| 一区二区三区视频在线看| 中文字幕人成一区| 国内精品在线视频| 97精品久久久久中文字幕| 成人91免费视频| 精品国产一级片| 久久成人精品无人区| 国产91色在线播放| 国产又大又黄又粗| 国产日韩欧美一区在线 | 人与嘼交av免费| 小嫩嫩12欧美| 日韩精品中文字幕视频在线| 喷水视频在线观看| 丁香婷婷成人| 亚洲第五色综合网| 中国极品少妇xxxx| 国产精品网在线观看| 亚洲精品一区二区三区香蕉 | 日韩一区二区三区精品视频第3页| 在线观看一区二区精品视频| www.日日操| 电影天堂国产精品| 欧洲精品中文字幕| 亚洲成色www.777999| 亚洲成人av观看| 欧美在线不卡视频| 亚洲综合色在线观看| 一区在线影院| 欧美精品在线观看一区二区| 黄色小视频免费网站| 91成人小视频| 日韩欧美国产三级| 色悠悠在线视频| 丁香婷婷成人| 亚洲日韩中文字幕| 女人黄色一级片| 99久久亚洲精品蜜臀| 久久伊人免费视频| 精品无码人妻一区二区三区品| 亚洲午夜极品| 欧美在线免费视频| 国产在线一级片| 国产综合色视频| 国产精品三区www17con| 日本免费一区二区三区最新| 国产嫩草影院久久久久| 樱空桃在线播放| a级片在线免费| 色偷偷88欧美精品久久久| 亚洲一级免费观看| 成人在线黄色| 日韩欧美国产一区二区三区 | 国产成人综合一区| 偷拍自拍亚洲| 日韩欧美国产综合一区| 法国伦理少妇愉情| 日本一区二区免费高清| 大胆人体色综合| 精品免费囯产一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 91嫩草在线视频| 日韩一级片免费在线观看| 91麻豆精品一区二区三区| 亚洲一卡二卡三卡四卡无卡网站在线看| 麻豆传媒视频在线观看| 亚洲成人黄色影院| 精品综合久久久久| 欧美男男freegayvideosroom| 国产小视频91| 久久精品视频6| 免费成人美女在线观看| 国产一区二区不卡视频在线观看| 国产无套粉嫩白浆在线2022年| 亚洲精品国产高清久久伦理二区| 无码人妻h动漫| 日韩成人视屏| 中文字幕视频一区二区在线有码 | 中文字幕一区二区人妻在线不卡| 97色伦图片97综合影院| 欧美亚洲一区在线| 精品人妻少妇嫩草av无码专区| 久久久久久亚洲综合影院红桃| 在线观看成人免费| 国产福利一区二区三区在线播放| 精品国产凹凸成av人网站| 免费精品在线视频| 久久久久久久欧美精品| 国产精品成人一区二区三区| 久草中文在线| 欧美在线观看你懂的| 中文在线永久免费观看| 欧美久久影院| 91精品综合久久久久久五月天| 青青草手机在线| 精品电影在线观看| 亚洲欧洲日韩综合| 一区二区免费不卡在线| 国产精品永久免费视频| 国产在线日本| 色偷偷一区二区三区| 精品国产人妻一区二区三区| 亚洲欧洲一区| 国产精品区二区三区日本| 操你啦视频在线| 欧美二区在线观看| 蜜桃视频最新网址| 美女脱光内衣内裤视频久久网站| 日本一区二区三区视频免费看| 国产在线美女| 亚洲精品国产精品自产a区红杏吧| 精品99在线观看| 国产精品白丝jk黑袜喷水| 精品久久免费观看| 国产精品麻豆| 久久99热这里只有精品国产 | 亚洲第一网站免费视频| xxxxxx国产| 91亚洲精品久久久蜜桃| 少妇无码av无码专区在线观看| 黑人久久a级毛片免费观看| 久久青草精品视频免费观看| 欧美熟妇另类久久久久久不卡| 亚洲综合偷拍欧美一区色| 国产情侣久久久久aⅴ免费| 亚洲无吗在线| 久久久久久久久四区三区| 涩涩涩视频在线观看| 精品亚洲va在线va天堂资源站| www欧美在线| 欧美国产日韩精品免费观看| 另类小说第一页| 久久久久久美女精品| 亚洲自拍偷拍视频| 电影k8一区二区三区久久| 日韩电影中文 亚洲精品乱码| 欧美日韩一二三四区| 久久精品无码一区二区三区| 欧美第一页浮力影院| 外国成人激情视频| 国产精品美女久久久久av福利| 亚洲wwwww| 日韩极品精品视频免费观看| 免费无码国产精品| 亚洲天堂精品在线观看| 日批视频免费看| 久久亚洲国产精品一区二区| 亚洲欧美日韩国产成人综合一二三区| 91精品视频一区二区| 欧美极品第一页| 黄色美女网站在线观看| 欧美裸体一区二区三区| 日本免费一二三区| 欧美激情综合五月色丁香小说| 中文字幕55页| 亚洲欧美卡通另类91av| 欧美爱爱视频网站| 美女呻吟一区| 成人春色激情网| 欧美裸体视频| y97精品国产97久久久久久| 国产小视频一区| 欧洲色大大久久| 国产一级片视频| 国产精品久久久久久妇女6080| 中文字幕亚洲日本| 日本伊人色综合网| avav在线播放| 日韩精品水蜜桃| 精品视频第一区| 精品国产鲁一鲁****| 日韩av大片免费看| 国产亚av手机在线观看| 中文字幕久热精品视频在线| 天堂成人在线视频| 欧美一区二区三区在线视频| 怡红院av久久久久久久| 亚洲一区二区中文在线| 亚洲欧美精品aaaaaa片| 久久综合色之久久综合| 免费不卡的av| 国产乱码精品一品二品| 天天操,天天操| 媚黑女一区二区| 国产a级片网站| 亚洲电影影音先锋| 亚洲精品高清视频| 久久不见久久见免费视频7| 国产伦精品一区二区三区视频孕妇 | 性做久久久久久久久久| 欧美人伦禁忌dvd放荡欲情| 性无码专区无码| 亚洲国产精品尤物yw在线观看| 久久国产高清视频| 亚洲国产成人在线| 成人免费毛片糖心| 99视频在线精品| 中文字幕永久免费| 国产成人午夜精品影院观看视频 | 国产又粗又黄又爽的视频| 一本大道久久a久久精品综合| 国产极品在线播放| 亚洲综合精品自拍| 九九九久久久久| 一个色综合av| 免费在线黄色片| 樱花影视一区二区| 丰满少妇高潮久久三区| 亚洲精品国产一区二区精华液 | 欧美日韩一卡二卡| 涩涩视频在线观看| 欧美在线观看视频一区二区三区| 久久精品久久久久久久| 色综合网色综合| 老熟妇仑乱一区二区av| 色狠狠色狠狠综合| 波多野结衣电车痴汉| 在线免费观看不卡av| 久久久国产免费| 欧美三级电影在线观看| 伊人久久一区二区| 欧美日韩国产精品自在自线| 一区二区三区午夜| 8x福利精品第一导航| 国产巨乳在线观看| 日韩欧美视频一区| 黄色一级a毛片| 日韩精品中文字幕在线| 国产在线91| 久久天天躁狠狠躁夜夜爽蜜月| 国产一二区在线观看| 欧美精品18videos性欧| 无遮挡在线观看| 国产欧美日韩专区发布| 日韩精品视频在线看| 国产视频一区二区不卡| 九九视频精品全部免费播放| 视频一区二区综合| 影音先锋日韩在线| 黄色网页免费在线观看| 日日欢夜夜爽一区| 日韩视频在线观看一区二区三区| 国产成人在线影院| 人妻精品久久久久中文字幕| 国产精品美女久久久久高潮| 欧美日韩中文字幕在线观看| 天天综合色天天综合| 久草热在线观看| 日韩一区二区三区电影| 五月激情婷婷网| 自拍偷拍亚洲精品| 欧美性video| 日本免费在线精品| 国产精品一级在线观看| 精品视频导航| 91精品亚洲| 国产亚洲天堂网| 国产综合色视频| 免费看污黄网站在线观看| 一区二区中文视频| 黄色片视频网站| 51精品秘密在线观看| 亚州av在线播放| www.亚洲人.com| 在线手机中文字幕| 91免费精品视频| 免费一区二区三区视频导航| 超碰人人爱人人| 日本不卡视频在线观看| 成人在线视频免费播放| 国产精品电影院| 久久久久久91亚洲精品中文字幕| 在线电影院国产精品| 三级做a全过程在线观看| 久久这里有精品视频| 欧美最新精品| 精品蜜桃传媒| 欧美三区美女| 激情五月婷婷基地| 国产欧美视频一区二区| 国产成人在线观看网站| 欧美一区二区日韩一区二区| 成人高潮成人免费观看| 91爱视频在线| 成人在线超碰| 成年人三级视频| 狠狠色综合播放一区二区| 国产又粗又硬视频| 色综合色狠狠天天综合色| 女人18毛片水真多18精品| 欧美精品日韩三级| 成人乱码手机视频| 在线看成人av电影| 青草av.久久免费一区| a毛片毛片av永久免费| 午夜精品一区二区三区免费视频| 精品国产无码一区二区| 蜜月aⅴ免费一区二区三区| 国外成人福利视频| 日韩av电影免费观看| 久久激情综合| 欧美性xxxx图片| 无吗不卡中文字幕| 天堂在线资源8| 97在线观看视频国产| 国产一级成人av| 欧美不卡在线播放| gogogo免费视频观看亚洲一| 久青草免费视频| 精品久久久久香蕉网| 男人天堂亚洲天堂| 国产精品一国产精品最新章节| 国内精品美女在线观看| 第一页在线视频| 亚洲成av人综合在线观看| 日本黄色三级视频| 88xx成人精品| 国产aⅴ精品一区二区三区久久| 欧美精品第三页| 日本一区二区三级电影在线观看 | 亚洲美女尤物影院| 欧美日韩国产高清视频| 日韩av中文字幕一区二区| 美女av免费看| 777久久久精品| 暖暖在线中文免费日本| 久草一区二区| 日韩av在线发布| 一级免费黄色录像| 欧美一区二区三区喷汁尤物| 好看的中文字幕在线播放| 国产亚洲情侣一区二区无| 另类亚洲自拍| 亚洲欧美另类日本| 欧美成人激情免费网| 擼擼色在线看观看免费| 日韩精品一区二区三区外面 | 国产一区二区丝袜| 一区二区三区午夜探花| 精品少妇人妻av一区二区三区| 欧美日韩国产精品专区| 最新电影电视剧在线观看免费观看| 91九色国产社区在线观看| 伊人成人在线视频| 国产一二三四五区| 91麻豆精品国产91久久久更新时间| 久久av色综合| 日本欧美精品久久久| 久久国产免费看| 亚洲天堂日韩av| 日韩在线视频一区| 国产精品香蕉| 在线观看的毛片| 午夜激情综合网| 永久免费在线观看视频| 国产精品香蕉视屏| 免费在线观看一区二区三区| 欧美日韩国产精品一区二区三区| 亚洲久久久久久久久久| 国产高清亚洲| 91热这里只有精品| 亚洲综合图片区| 亚洲欧美视频一区二区| 久久精品午夜一区二区福利| 精品一区二区三区在线观看国产 | 久久午夜精品| 久久久无码一区二区三区|