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

三分鐘掌握MySQL是如何存儲一行記錄

數據庫 MySQL
Mysql的數據是保存在磁盤上,數據具體保存在磁盤的哪個文件上是由存儲引擎決定的,Mysql支持多種存儲引擎(如InnoDB、MyISAM等),不同的存儲引擎保存的文件也存在一定的差異。

Mysql是我們平時用的比較多的數據存儲工具,那么當執行insert向Mysql中插入一條數據的時候,Mysql是如何存儲這條的數據的呢?下面我們來聊聊這個話題。

1、Mysql的數據存放在位置

    Mysql的數據是保存在磁盤上,數據具體保存在磁盤的哪個文件上是由存儲引擎決定的,Mysql支持多種存儲引擎(如InnoDB、MyISAM等),不同的存儲引擎保存的文件也存在一定的差異。以Mysql默認的存儲引擎InnoDB為例,InnoDB存儲引擎將文件存放在的位置如下圖所示:

圖片圖片

   在InnoDB存儲引擎中,每當創建一個database的時候都會在/var/lib/mysql/目錄里面創建一個以database為名的目錄,然后表結構和表數據的文件都會存放在這個目錄下,如下圖所示的表gonggao數據表文件:

圖片圖片

在database為名的目錄存在三個文件,這些文件的含義如下所示:

(1)db.opt

    用來存儲當前數據庫的默認字符集和字符校驗規則。

(2)gonggao.frm

    gonggao的表結構會保存在這個文件。在Mysql中建立一張表都會生成一個.frm 文件,該文件是用來保存每個表的元數據信息的,主要包含表結構定義。

(3)gonggao.ibd

    gonggao的表數據會保存在這個文件。當然表數據既可以存在共享表空間文件(文件名:ibdata1)里,也可以存放在獨占表空間文件(文件名:表名字.ibd)。

    通過參數innodb_file_per_table控制可以設置表數據存儲位置,若設置參數innodb_file_per_table=1,則會將存儲的數據、索引等信息單獨存儲在一個獨占表空間(MySQL5.6.6版本開始,該參數的默認值為1,既就是表的數據都存放在一個獨立的.ibd文件)。Mysql8后,frm文件和idb文件合并成一個文件了,沒有frm文件了。

2、idb文件的結構

    表空間由段(segment)、區(extent)、頁 (page,InnoDB與磁盤交互的單位)、行(row,具體存儲數據) 組成,InnoDB存儲引擎的邏輯存儲結構如下圖:

圖片圖片

(1)行

    數據庫表中的記錄都是按行(row)進行存放的,每行記錄根據不同的行格式,有不同的存儲結構。

(2)頁

    記錄是按照行來存儲的,但是數據庫的讀取并不以行為單位,否則一次讀取只能處理一行數據,效率會非常低。InnoDB 的數據是按頁為單位來讀寫的,當讀一條記錄的時候,并不是將這個行記錄從磁盤讀出來,而是以頁為單位,將其整體讀入內存。默認每頁的大小為16KB,也就是最多能保證16KB的連續存儲空間,當然這個16KB也是可以通過參數調整。

    頁是InnoDB存儲引擎磁盤管理的最小單元,每次數據庫讀寫都是以16KB為單位的,一次最少從磁盤中讀取16KB的內容到內存中。

(3)區

    InnoDB存儲引擎是用B+樹來組織數據的。B+樹中每一層都是通過雙向鏈表連接起來的,如果是以頁為單位來分配存儲空間,那么鏈表中相鄰的兩個頁之間的物理位置并不是連續的,可能離得非常遠,那么磁盤查詢時就會有大量的隨機I/O,隨機I/O會非常慢。

    區可以保證多個頁連續存儲,這樣在一個區里面的數據進行讀取的時候可以使用順序I/O。如果表中數據量大的時候,為某個索引分配空間的時候就不再按照頁為單位分配了,而是按照區為單位分配。每個區的大小為 1MB,對于16KB的頁來說,連續的64個頁(1024/16 = 64)會被劃為一個區,這樣就使得鏈表中相鄰的頁的物理位置也相鄰,就能使用順序I/O讀取。

(4)段 

    表空間是由各個段(segment)組成的,段是由多個區(extent)組成的。段一般分為數據段(存放B+樹的葉子節點的區的集合)、索引段(存放B+樹的非葉子節點的區的集合)和回滾段(存放的是回滾數據的區的集合)等。段是以區為單位保證多個區形成一個段。

3、InnoDB的行格式

    行格式是一條記錄的存儲結構,InnoDB 提供了4種行格式,分別是Redundant、Compact、Dynamic和Compressed行格式。

    Redundant是很古老的行格式了,MySQL5.0版本之前用的行格式,現在基本沒人用了。

    Compact是一種緊湊的行格式,設計的初衷就是為了讓一個數據頁中可以存放更多的行記錄,從MySQL5.1版本之后,行格式默認設置成Compact。Compact的格式如下所示:

圖片圖片

    Dynamic和Compressed兩個都是緊湊的行格式,它們的行格式都和Compact差不多,因為都是基于Compact進行改進的。從MySQL5.7版本之后,默認使用Dynamic行格式。

4、Compact的格式詳解

圖片圖片

    記錄的額外信息有3個部分組成,分別是變長字段長度列表、null值列表、記錄頭信息。

4.1、變長字段長度列表

    Mysql支持一些變長的數據類型,比如 VARCHAR(m)、VARBINARY(n)、TEXT 類型、BLOB類型,這些數據類型修飾列稱為變長字段,變長字段中存儲多少字節的數據不是固定的,所以在存儲真實數據的時候需要順便把這些數據占用的字節數也存起來。

    在Compact 行格式中,把所有變長字段的真實數據占用的字節長度都存放在記錄的開頭部位,從而形成一個變長字段長度列表。創建如下的用戶表:

CREATE TABLE `user` (
`id` int(11) NOT NULL,
`name` VARCHAR(20)DEFAULT NULL,
`mobile` VARCHAR(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARACTER SET = ascii ROW_FORMAT =COMPACT;

    用戶表的字符集設置成ASCII,行格式設置為Compact格式,我們來看看行格式中的“變長字段長度列表”是怎樣存儲的,分成如下情況:

(a)變長字段不為null

    向用戶表中添加一條數據,如下圖所示:

圖片圖片

由于表的字符集設置成ASCII,所以針對每個列的數據:

    name 列的值為a,真實數據占用的字節數是1字節,十六進制0x01;mobile列的值為789,真實數據占用的字節數是3字節,十六進制0x03;id列和age列不是變長字段,所以不用考慮。

    這些變長字段的真實數據占用的字節數會按照列的順序逆序存放,所以變長字段長度列表里的內容是0301,變長字段長度列表存放下圖所示:

圖片圖片

(b)存在一個變長字段為null

圖片圖片

    name列的值為a,真實數據占用的字節數是1字節,十六進制0x01;mobile列的值為null,null是不會存放在行格式中記錄的真實數據部分里的,所以變長字段長度列表里不需要保存值為null的變長字段的長度;id列和age列不是變長字段,所以依舊不用考慮。變長字段長度列表存放下圖所示:

圖片

    變長字段字節數列表不是必須的,當數據表沒有變長字段的時候,這時候表里的行格式就不會有變長字段長度列表了,目的是節省空間。所以變長字段長度列表只出現在數據表有變長字段的時候。

4.2 null值列表

    表中的某些列可能會存儲null值,如果把這些null值都放到記錄的真實數據中會比較浪費空間,所以Compact行格式把這些值為null的列存儲到null值列表中。

    如果存在允許null值的列,則每個列對應一個二進制位(bit),二進制位按照列的順序逆序排列,二進制值的含義如下表所示:

二進制值

含義

1

該列的值為null

0

該列的值不為null

    另外,值列表必須用整數個字節的位表示,如果使用的二進制位個數不足整數個字節,則在字節的高位補0。

(1)行數據無字段值為null

圖片圖片

    InnoDB是用整數字節的二進制位來表示null值列表的,現在不足8位,所以要在高位補0,如下圖所示:

圖片圖片

使用十六進制可以表示為0x00。

(2)行數據存在null值字段

圖片圖片

此時的mobile字段值為null,使用二進制表示如下圖所示:

圖片圖片

使用十六進制表示就是0x02

    null值列表不是必須的,當數據表的字段都定義成NOT NULL的時候,這時候表里的行格式就不會有null值列表了。所以在設計數據庫表的時候,通常都是建議將字段設置為NOT NULL,目的是為了節省至少1字節的空間(null值列表至少占用1字節空間)。

    null值列表的空間不是固定1字節的,當一條記錄有12個字段值是允許為null,那么就會創建2字節空間的null值列表。

4.3、記錄頭信息

記錄頭的信息如下圖所示:

圖片圖片

(1)delete_mask:標識此條數據是否被刪除。從這里可以知道,我們執行detele刪除記錄的時候,并不會真正的刪除記錄,只是將這個記錄的delete mask標記為1。

(2)next_record:下一條記錄的位置,記錄與記錄之間是通過鏈表組織的。

(3)record_type:表示當前記錄的類型,0表示普通記錄,1表示B+樹非葉子節點記錄,2表示最小記錄,3表示最大記錄。

(4)預留位1 (1 bit):該位暫時未被使用。

(5)預留位2(1 bit):該位暫時未被使用。

(6)min_rec_mask (1 bit):B+樹的每層非葉子節點中的最小記錄都會添加該標記。如果是最小記錄,則該位為1;否則為0。

(7)n_owned(4bits):表示當前記錄擁有的記錄數。使用4個bits來表示,可以表示的最大值為15。

(8)heap_no (13 bits):表示當前記錄在記錄堆中的位置信息。使用13個bits來表示,可以表示的最大值為8191。

4.4 記錄的真實數據

    記錄真實數據部分除了我們定義的字段,還有三個隱藏字段,分別為:row_id、trx_id、roll_pointer,如下圖所示:

圖片圖片

(1)row_id

    如果我們建表的時候指定了主鍵或者唯一約束列,那么就沒有row id隱藏字段了。如果既沒有指定主鍵,又沒有唯一約束,那么InnoDB就會為記錄添加row_id 隱藏字段。row_id不是必需的,占用6個字節。

(2)trx_id

    事務id,表示這個數據是由哪個事務生成的。trx_id是必需的,占用6個字節。

(3)roll_pointer

    這條記錄上一個版本的指針。roll_pointer是必需的,占用7個字節。

5、Mysql的數據存儲

    Mysql規定除了TEXT、BLOB這種大對象類型之外,其他所有的列(不包括隱藏列和記錄頭信息)占用的字節長度加起來不能超過65535個字節。換句話講,一行記錄除了TEXT、BLOB類型的列,限制最大為65535字節。

    varchar(n)字段類型的n代表的是最多存儲的字符數量,并不是字節大小。如果要計算varchar(n)最大能允許存儲的字節數,與數據庫表的字符集有關,因為字符集代表著1個字符要占用多少字節,如ASCII字符集中1個字符占用1字節,那么varchar(100)意味著最大能允許存儲100字節的數據。

    在ASCII字符集中下,varchar(n)中的n可以取65535嗎?答案是不行的,為什么呢?新建一張表,如下所示:

CREATE TABLE `test` (
`name` VARCHAR(65535) NULL
) ENGINE = InnoDB DEFAULT CHARACTER SET = ascii ROW_FORMAT = COMPACT;

    一行數據的最大字節數65535,其實是包含變長字段長度列表和null值列表所占用的字節數的。

圖片圖片

    所以在計算varchar(n) 中n最大值時,需要減去變長字段長度列表和null值列表占用的字節數。

    65535 = 真實數據長度 + 變長字段長度列表長度 + null值列表長度

那么我們創建的test表中varchar的n最大可以取多少呢?分析如下所示:

(1)name字段是允許為null的,所以會用1字節(8個bit位)來表示null值列表。

(2)如果變長字段允許存儲的最大字節數小于等于255字節,就會用1字節表示變長字段長度;如果變長字段允許存儲的最大字節數大于255字節,就會用2字節表示變長字段長度。

    所以varchar(n)中n最大值= 65535 -2(name字段的最大字節數大于255字節,所以需要2個字節)-1(null值列表的字節數)=65532。

    當前是在字符集為ACSII下的計算方式,如果字符集是UTF-8時,一個字符最多需要三個字節,所以varchar(n)的n最大取值就是65532 / 3=21844。

6、行溢出

    Mysql中磁盤和內存交互的基本單位是頁,一個頁的大小一般是16KB,也就是16384字節,而一個varchar(n)類型的列最多可以存儲65532字節,一些大對象如TEXT、BLOB可能存儲更多的數據,此時一個頁可能就存不了一條記錄。這個時候就會發生行溢出,多的數據就會存到另外的溢出頁中。

    InnoDB存儲引擎會自動將溢出的數據存放到溢出頁中,Compact行格式在發生行溢出后的處理方式是在記錄的真實數據處只會保存該列的一部分數據,而把剩余的數據放在溢出頁中,然后真實數據處用20字節存儲指向溢出頁的地址,從而可以找到剩余數據所在的頁,如下圖所示:

圖片圖片

    Compressed和Dynamic這兩個行格式與Compact相比,他們的主要區別在于處理行溢出數據時存在一定的差異。這兩種格式采用完全行溢出方式,如下圖所示:

圖片圖片

    記錄的真實數據處不會存儲該列的一部分數據,只存儲20個字節的指針來指向溢出頁,實際的數據都存儲在溢出頁中。

責任編輯:武曉燕 來源: 龍蝦編程
相關推薦

2021-12-17 07:47:37

IT風險框架

2022-03-26 09:06:40

ActorCSP模型

2023-08-14 09:16:26

消息存儲磁盤

2025-02-13 08:04:49

spliceCPU數據

2020-06-29 07:42:20

邊緣計算云計算技術

2024-05-16 11:13:16

Helm工具release

2024-12-18 10:24:59

代理技術JDK動態代理

2009-11-09 12:55:43

WCF事務

2023-11-01 10:09:59

智能汽車

2009-10-29 16:22:10

VB.NET操作MyS

2021-04-20 13:59:37

云計算

2022-02-17 09:24:11

TypeScript編程語言javaScrip

2023-12-27 08:15:47

Java虛擬線程

2024-01-16 07:46:14

FutureTask接口用法

2024-08-30 08:50:00

2023-08-01 09:01:51

Broker? 事務消息selector

2023-08-24 09:01:25

消息拉取RocketMQ

2025-10-27 01:35:00

2020-06-30 10:45:28

Web開發工具

2013-06-28 14:30:26

棱鏡計劃棱鏡棱鏡監控項目
點贊
收藏

51CTO技術棧公眾號

久久久日本电影| 欧美卡1卡2卡| 日韩精品一区二区三区色偷偷| 伊人久久久久久久久久久久| 999成人网| 精品成人在线观看| 三上悠亚在线一区二区| 色呦呦在线免费观看| 91麻豆蜜桃一区二区三区| 国产精品美女主播| 国产午夜小视频| 日本精品三区| 日韩精品久久久久久福利| 三上悠亚av一区二区三区| 国产精品一品| 中文字幕一区二区三| 久久riav二区三区| 亚洲成人中文字幕在线| 免费xxxx性欧美18vr| 97视频免费在线看| 日韩在线观看视频一区二区| 国产麻豆精品久久| 亚洲精品成人网| 亚洲精品国产久| 97欧美成人| 天天影视涩香欲综合网| 日韩精品中文字幕久久臀| 国产成人精品视频在线| 91香蕉视频网| 天天躁日日躁狠狠躁欧美| 欧美一区二区三区啪啪| 亚洲乱码国产一区三区| 2020国产在线| 亚洲精品日韩综合观看成人91| 日本一区高清不卡| 亚洲三区在线播放| 成人av在线播放网址| 亚洲一区久久久| 91麻豆视频在线观看| 日韩精品成人一区二区在线| 97精品久久久| 日韩经典在线观看| 国产精品vip| 九九热精品视频国产| 国产精品视频一区二区在线观看| 亚洲自拍偷拍图| 欧美一级做a| 欧美午夜宅男影院| 冲田杏梨av在线| 欧美三级精品| 在线观看视频欧美| 激情内射人妻1区2区3区| 亚洲少妇视频| 一本久久综合亚洲鲁鲁五月天 | 欧美日韩久久婷婷| 日韩久久一区| 欧美日本韩国一区二区三区视频| 在线观看的毛片| 九九热这里有精品| 欧美福利电影网| 色婷婷一区二区三区在线观看| 国产精品xnxxcom| 日韩一区二区麻豆国产| 国产乱国产乱老熟300部视频| 国产精品2区| 欧美刺激午夜性久久久久久久| 粗大的内捧猛烈进出视频| 日韩一二三区| 亚洲福利影片在线| 欧美丰满少妇人妻精品| 国产午夜一区| 日韩一区二区久久久| 亚洲不卡在线播放| 国内久久视频| 日本国产欧美一区二区三区| 波多野结衣一区二区在线| 蜜桃视频一区二区| 亚洲一区二区三区四区在线播放| 亚洲av少妇一区二区在线观看| 高清不卡一二三区| 欧美日韩精品免费观看视一区二区 | 久久精品中文字幕一区二区三区 | 最新国产一区| 久久久国产一区二区三区| 久久久久无码国产精品不卡| 亚洲国产欧美国产综合一区| 国产福利成人在线| 国产精品一级视频| a亚洲天堂av| 五月天色一区| 久久亚洲导航| 欧美亚洲日本国产| 久久久无码人妻精品无码| 亚洲三级网址| 欧美巨大黑人极品精男| 亚洲男人的天堂在线视频| 久久激情五月激情| 狠狠色狠狠色综合人人| 天堂资源在线中文| 午夜精品123| 青青草原国产在线视频| 精品亚洲免a| www.国产一区| www.国产色| 国产成人在线视频网址| 青青草原成人| 俺来也官网欧美久久精品| 麻豆精品一区二区av白丝在线| 国产一区二区在线播放| 蜜臀久久精品久久久久| 亚洲国产成人自拍| 国产a级片网站| www欧美在线观看| 亚洲精品一区二区三区婷婷月 | 五月婷婷伊人网| 中文字幕中文在线不卡住| 欧美久久久久久久久久久久久| 国产91欧美| 精品无人国产偷自产在线| 男的操女的网站| 青椒成人免费视频| 麻豆久久久av免费| 丁香影院在线| 666欧美在线视频| 99久久精品免费视频| 狠狠干综合网| 亚洲一区二区在线| www.成人.com| 一本高清dvd不卡在线观看| www.四虎在线| 中文字幕人成人乱码| 国产精品久久婷婷六月丁香| 亚洲人视频在线观看| 亚洲在线中文字幕| 久久久久无码精品| 亚洲欧洲美洲一区二区三区| 国产欧美精品一区二区三区介绍| 精品视频一二三| 欧美日韩免费在线观看| 国产免费一区二区三区最新6| 91成人超碰| 91欧美日韩一区| 精产国品自在线www| 欧美日韩综合在线| 97国产成人精品视频| 久久夜色精品国产噜噜亚洲av| 国产不卡在线视频| 欧美日韩午夜爽爽| 欧美电影在线观看一区| 粗暴蹂躏中文一区二区三区| 中文字幕一区二区三区波野结| 久久婷婷一区二区三区| 成人免费观看视频在线观看| 日韩影视在线观看| 91免费在线播放| 国产精品久久久久久久久久久久久久| 天堂av资源网| 精品久久久在线观看| 色婷婷av一区二区三区在线观看| 一级做a爰片久久毛片| 2024国产精品视频| 波多野结衣家庭教师视频| 亚洲另类春色校园小说| 国产成人精品免费视频| 少妇视频在线播放| 免费高清在线视频一区·| 亚洲v国产v在线观看| www.久久| 久久久黄色av| 亚洲精品国产一区二| 亚洲成人精品一区二区| 亚洲精品乱码久久久久久蜜桃图片| 国产一区二区三区中文字幕| 国产欧美一区二区精品秋霞影院| 国产一级做a爰片久久| 久久香蕉国产| 91成人在线看| av漫画网站在线观看| 日韩激情av在线播放| 无码视频一区二区三区| 国产精品免费视频一区| 亚洲综合20p| 亚洲黄色影片| 视频一区视频二区视频三区视频四区国产| 国产成人精品一区二区三区免费 | 国产51自产区| 久久婷婷久久| 久久精品国产精品亚洲精品色| 成人涩涩网站| 国产精品国语对白| 青春草在线视频| 亚洲视频欧洲视频| aaa一区二区| 色悠久久久久综合欧美99| www.超碰在线观看| 2023国产精品自拍| 三级黄色片免费看| 亚洲一区中文| 亚洲区成人777777精品| 天天做夜夜做人人爱精品 | 国产伦精品一区二区三区免费优势 | 噜噜噜91成人网| 黑人巨大国产9丨视频| 日本一区福利在线| 91视频九色网站| 亚洲欧美se| 欧美激情第99页| porn视频在线观看| 亚洲精品videossex少妇| 一级片aaaa| 日韩欧美国产一区二区| 真实国产乱子伦对白在线| 国产网红主播福利一区二区| 国产在线观看免费播放| 免费国产亚洲视频| 日韩网址在线观看| 雨宫琴音一区二区在线| 中文字幕欧美人与畜| 神马久久一区二区三区| 国产一区国产精品| av综合网址| 91网站免费观看| 91精品亚洲一区在线观看| 日韩免费精品视频| 在线人成日本视频| 午夜精品福利电影| 黄色污污视频在线观看| 久久精品成人动漫| www.国产精品.com| 国产一区二区三区在线观看网站 | 国产精品1区在线| 国产精品一区二区三区毛片淫片| 超碰aⅴ人人做人人爽欧美| 欧美精品福利在线| 中文字幕中文字幕在线十八区| 在线成人免费网站| av一区在线观看| 中文字幕久久亚洲| 电影av一区| 一区二区三区视频在线| 激情综合闲人网| 亚洲男人天天操| 蜜桃视频在线播放| 亚洲性生活视频在线观看| 美国成人毛片| 亚洲少妇激情视频| 二区在线视频| 永久免费毛片在线播放不卡| 韩国中文免费在线视频| 亚洲图片在线综合| 成人在线观看网站| 精品国产一区二区三区久久| 欧美18hd| 欧美成人激情视频免费观看| 1stkiss在线漫画| 久久久久久久国产| 黄在线观看免费网站ktv| 2018日韩中文字幕| 三上悠亚激情av一区二区三区 | 日韩中字在线观看| 国产精品日韩久久久| 国产极品美女高潮无套久久久| 久久一区精品| 一女二男3p波多野结衣| 精品一二三四在线| 爱情岛论坛亚洲自拍| 粉嫩绯色av一区二区在线观看| 国产51自产区| 国产亚洲视频系列| 91久久久久久久久久久久久久 | 国产福利一区在线| 中文字幕第3页| 91麻豆123| 欧美成人另类视频| 亚洲乱码国产乱码精品精98午夜 | 国产中文一区二区| 欧美日韩xxxx| 成人手机视频在线| 亚洲国产专区| 黄色一级二级三级| 国产一区二区三区免费在线观看| 性猛交╳xxx乱大交| 99视频精品在线| 阿v天堂2014| 亚洲一区国产视频| 免费在线观看av的网站| 91精品欧美一区二区三区综合在 | 亚洲图片在线播放| 精品国产露脸精彩对白| 国产乱子伦三级在线播放| 久久天天躁狠狠躁夜夜爽蜜月| av中文资源在线资源免费观看| 国产成人精品免费久久久久| 国内精品视频| 欧美日韩国产精品一卡| 欧美另类亚洲| 成人性视频欧美一区二区三区| 国产尤物一区二区| av小说在线观看| 伊人性伊人情综合网| 欧美brazzers| 精品嫩草影院久久| 最新97超碰在线| 91精品国产91久久久久福利| 欧美成人家庭影院| 蜜桃av久久久亚洲精品| 综合久久综合| 国产aaaaa毛片| 99久久久精品免费观看国产蜜| 成人18视频免费69| 色欧美片视频在线观看在线视频| 精品国自产拍在线观看| 中文字幕最新精品| 五月天av在线| 国产精品伊人日日| 91精品国产91久久综合| 久久精品免费网站| 91麻豆免费看| 免费毛片一区二区三区| 欧美一级xxx| 在线免费看黄| 国产成人短视频| 红杏视频成人| 日本男女交配视频| 黄页视频在线91| 亚洲精品天堂网| 91高清视频在线| 女人偷人在线视频| 77777少妇光屁股久久一区| 88久久精品| www国产免费| 国产麻豆日韩欧美久久| 天天色影综合网| 欧美区一区二区三区| 国产区av在线| 国产精品9999| 国产午夜一区| 超碰在线人人爱| 欧美高清在线一区| 中日精品一色哟哟| 有码中文亚洲精品| 欧洲av一区二区| 五月天国产一区| 久久91精品国产91久久小草| 一级黄色毛毛片| 欧美日韩国产a| 黄色免费在线看| 成人在线中文字幕| 欧美成人一品| 国产麻豆剧传媒精品国产| 亚洲专区一二三| 水莓100在线视频| 日韩av电影在线播放| 欧美偷拍自拍| 欧美wwwwwww| 亚洲精品你懂的| 国产强被迫伦姧在线观看无码| 久久久国产精品一区| 视频精品一区| 青草青青在线视频| xnxx国产精品| 免费一级a毛片| 俺去亚洲欧洲欧美日韩| 亚洲精品在线国产| 欧美三级一级片| 亚洲国产经典视频| 国产jzjzjz丝袜老师水多| 欧美激情aaaa| 深爱激情综合网| 三级性生活视频| 亚洲一卡二卡三卡四卡| 全色精品综合影院| 国产有码在线一区二区视频| 中文字幕日韩一区二区不卡| 中文字幕一区二区人妻电影丶| 日韩欧亚中文在线| 免费黄色电影在线观看| 国产精品久久久久久久久久久久午夜片 | 在线午夜精品自拍| 久久av偷拍| 国产网站免费在线观看| 国产女人aaa级久久久级| 99热这里只有精品在线| 8050国产精品久久久久久| 精品理论电影在线| 久久国产免费视频| 在线亚洲一区二区| 好吊日视频在线观看| 久久精品ww人人做人人爽| 蜜桃精品视频在线| 精品肉丝脚一区二区三区| 亚洲四色影视在线观看| 国产一区二区三区免费在线| 欧美色图另类小说| **性色生活片久久毛片| 免费看男男www网站入口在线| 91精品中国老女人| 久久国产精品毛片| 久久久久久久久久久97| 中文字幕亚洲一区二区三区五十路|