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

數據庫主鍵一定要自增嗎?有哪些場景不建議自增?

數據庫 MySQL
建表sql里主鍵邊上的AUTO_INCREMENT,可以讓主鍵自增,去掉它是可以的,但這就需要你在insert的時候自己設置主鍵的值。

我們平時建表的時候,一般會像下面這樣。

CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主鍵',
`name` char(10) NOT NULL DEFAULT '' COMMENT '名字',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

出于習慣,我們一般會加一列id作為主鍵,而這個主鍵一般邊上都有個AUTO_INCREMENT, 意思是這個主鍵是自增的。自增就是i++,也就是每次都加1。

但問題來了。

  • 主鍵id不自增行不行?
  • 為什么要用自增id做主鍵?
  • 離譜點,沒有主鍵可以嗎?
  • 什么情況下不應該自增?
  • 被這么一波追問,念頭都不通達了?

這篇文章,我會嘗試回答這幾個問題。

主鍵不自增行不行

當然是可以的。比如我們可以把建表sql里的AUTO_INCREMENT去掉。

CREATE TABLE `user` (
`id` int NOT NULL COMMENT '主鍵',
`name` char(10) NOT NULL DEFAULT '' COMMENT '名字',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

然后執行:

INSERT INTO `user` (`name`)  VALUES    ('debug');

這時候會報錯Field 'id' doesn't have a default value。也就是說如果你不讓主鍵自增的話,那你在寫數據的時候需要自己指定id的值是多少,想要主鍵id是多少就寫多少進去,不寫就報錯。

改成下面這樣就好了。

INSERT INTO `user` (`id`,`name`)  VALUES    (10, 'debug');

為什么要用自增主鍵

我們在數據庫里保存的數據就跟excel表一樣,一行行似的。

圖片

user表

而在底層,這一行行數據,就是保存在一個個16k大小的頁里。

每次都去遍歷所有的行性能會不好,于是為了加速搜索,我們可以根據主鍵id,從小到大排列這些行數據,將這些數據頁用雙向鏈表的形式組織起來,再將這些頁里的部分信息提取出來放到一個新的16kb的數據頁里,再加入層級的概念。于是,一個個數據頁就被組織起來了,成為了一棵B+樹索引。

圖片

B+樹結構

而當我們在建表sql里聲明了PRIMARY KEY (id)時,mysql的innodb引擎,就會為主鍵id生成一個主鍵索引,里面就是通過B+樹的形式來維護這套索引。

到這里,我們有兩個點是需要關注的:

  • 數據頁大小是固定16k。
  • 數據頁內,以及數據頁之間,數據主鍵id都是從小到大排序的。

由于數據頁大小固定了是16k,當我們需要插入一條新的數據,數據頁會被慢慢放滿,當超過16k時,這個數據頁就有可能會進行分裂。

針對B+樹葉子節點,如果主鍵是自增的,那它產生的id每次都比前一次要大,所以每次都會將數據加在B+樹尾部,B+樹的葉子節點本質上是雙向鏈表,查找它的首部和尾部,時間復雜度O(1)。而如果此時最末尾的數據頁滿了,那創建個新的頁就好。

圖片

圖片主鍵id自增的情況

如果主鍵不是自增的,比方說上次分配了id=7,這次分配了id=3,為了讓新加入數據后B+樹的葉子節點還能保持有序,它就需要往葉子結點的中間找,查找過程的時間復雜度是O(lgn),如果這個頁正好也滿了,這時候就需要進行頁分裂了。并且頁分裂操作本身是需要加悲觀鎖的。總體看下來,自增的主鍵遇到頁分裂的可能性更少,因此性能也會更高。

圖片

圖片主鍵id不自增的情況

沒有主鍵可以嗎

mysql表如果沒有主鍵索引,查個數據都得全表掃描,那既然它這么重要,我今天就不當人了,不聲明主鍵,可以嗎?

嗯,你完全可以不聲明主鍵。

你確實可以在建表sql里寫成這樣。

CREATE TABLE `user` (
`name` char(10) NOT NULL DEFAULT '' COMMENT '名字'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

看起來確實是沒有主鍵的樣子。然而實際上,mysql的innodb引擎內部會幫你生成一個名為ROW_ID列,它是個6字節的隱藏列,你平時也看不到它,但實際上,它也是自增的。有了這層兜底機制保證,數據表肯定會有主鍵和主鍵索引。

跟ROW_ID被隱藏的列還有trx_id字段,用于記錄當前這一行數據行是被哪個事務修改的,和一個roll_pointer字段,這個字段是用來指向當前這個數據行的上一個版本,通過這個字段,可以為這行數據形成一條版本鏈,從而實現多版本并發控制(MVCC)。有沒有很眼熟,這個在之前寫的文章里出現過。

圖片

隱藏的row_id列

有沒有建議主鍵不自增的場景

前面提到了主鍵自增可以帶來很多好處,事實上大部分場景下,我們都建議主鍵設為自增。

那有沒有不建議主鍵自增的場景呢?

mysql分庫分表下的id

聊到分庫分表,那我就需要說明下,遞增和自增的區別了,自增就是每次都+1,而遞增則是新的id比上一個id要大就行了,具體大多少,沒關系。

之前寫過一篇文章提到過,mysql在水平分庫分表時,一般有兩種方式。

一種分表方式是通過對id取模進行分表,這種要求遞增就好,不要求嚴格自增,因為取模后數據會被分散到多個分表中,就算id是嚴格自增的,在分散之后,都只能保證每個分表里id只能是遞增的。

圖片

根據id取模分表

另一種分表方式是根據id的范圍進行分表(分片),它會劃出一定的范圍,比如以2kw為一個分表的大小,那0~2kw就放在這張分表中,2kw~4kw放在另一張分表中,數據不斷增加,分表也可以不斷增加,非常適合動態擴容,但它要求id自增,如果id遞增,數據則會出現大量空洞。舉個例子,比如第一次分配id=2,第二次分配id=2kw,這時候第一張表的范圍就被打滿了,后面再分配一個id,比如是3kw,就只能存到2kw~4kw(第二張)的分表中。那我在0~2kw這個范圍的分表,也就存了兩條數據,這太浪費了。

圖片

根據id范圍分表

但不管哪種分表方式,一般是不可能繼續用原來表里的自增主鍵的,原因也比較好理解,原來的每個表如果都從0開始自增的話,那好幾個表就會出現好幾次重復的id,根據id唯一的原則,這顯然不合理。

所以我們在分庫分表的場景下,插入的id都是專門的id服務生成的,如果是要嚴格自增的話,那一般會通過redis來獲得,當然不會是一個id請求獲取一次,一般會按批次去獲得,比如一次性獲得100個。快用完了再去獲取下一批100個。

但這個方案有個問題,它嚴重依賴redis,如果redis掛了,那整個功能就傻了。

有沒有不依賴于其他第三方組件的方法呢?

雪花算法

有,比如Twitter開源的雪花算法。

雪花算法通過64位有特殊含義的數字來組成id。

圖片

圖片雪花算法

首先第0位不用。

接下來的41位是時間戳。精度是毫秒,這個大小大概能表示個69年左右,因為時間戳隨著時間流逝肯定是越來越大的,所以這部分決定了生成的id肯定是越來越大的。

再接下來的10位是指產生這些雪花算法的工作機器id,這樣就可以讓每個機器產生的id都具有相應的標識。

再接下來的12位,序列號,就是指這個工作機器里生成的遞增數字。

可以看出,只要處于同一毫秒內,所有的雪花算法id的前42位的值都是一樣的,因此在這一毫秒內,能產生的id數量就是 2的10次方??2的12次方,大概400w,肯定是夠用了,甚至有點多了。

但是!

細心的兄弟們肯定也發現了,雪花算法它算出的數字動不動就比上次的數字多個幾百幾萬的,也就是它生成的id是趨勢遞增的,并不是嚴格+1自增的,也就是說它并不太適合于根據范圍來分表的場景。這是個非常疼的問題。

還有個小問題是,那10位工作機器id,我每次擴容一個工作機器,這個機器怎么知道自己的id是多少呢?是不是得從某個地方讀過來。

那有沒有一種生成id生成方案,既能讓分庫分表能做到很好的支持動態擴容,又能像雪花算法那樣并不依賴redis這樣的第三方服務。

有。這就是這篇文章的重點了。

適合分庫分表的uuid算法

我們可以參考雪花算法的實現,設計成下面這樣。注意下面的每一位,都是十進制,而不是二進制。

圖片

適合分庫分表的uuid算法

開頭的12位依然是時間,但并不是時間戳,雪花算法的時間戳精確到毫秒,我們用不上這么細,我們改為yyMMddHHmmss,注意開頭的yy是兩位,也就是這個方案能保證到2099年之前,id都不會重復,能用到重復,那也是真·百年企業。同樣由于最前面是時間,隨著時間流逝,也能保證id趨勢遞增。

接下來的10位,用十進制的方式表示工作機器的ip,就可以把12位的ip轉為10位的數字,它可以保證全局唯一,只要服務起來了,也就知道自己的ip是多少了,不需要像雪花算法那樣從別的地方去讀取worker id了,又是一個小細節。

在接下來的6位,就用于生成序列號,它能支持每秒鐘生成100w個id。

最后的4位,也是這個id算法最妙的部分。它前2位代表分庫id,后2位代表分表id。也就是支持一共100*100=1w張分表。

舉個例子,假設我只用了1個分庫,當我一開始只有3張分表的情況下,那我可以通過配置,要求生成的uuid最后面的2位,取值只能是[0,1,2],分別對應三個表。這樣我生成出來的id,就能非常均勻的落到三個分表中,這還順帶解決了單個分表熱點寫入的問題。

如果隨著業務不斷發展,需要新加入兩張新的表(3和4),同時第0張表有點滿了,不希望再被寫了,那就將配置改為[1,2,3,4],這樣生成的id就不會再插入到對應的0表中。同時還可以加入生成id的概率和權重來調整哪個分表落更多數據。

有了這個新的uuid方案,我們既可以保證生成的數據趨勢遞增,同時也能非常方便擴展分表。非常nice。

數據庫有那么多種,mysql只是其中一種,那其他數據庫也是要求主鍵自增嗎?

tidb的主鍵id不建議自增

tidb是一款分布式數據庫,作為mysql分庫分表場景下的替代產品,可以更好的對數據進行分片。

它通過引入Range的概念進行數據表分片,比如第一個分片表的id在0~2kw,第二個分片表的id在2kw~4kw。這其實就是根據id范圍進行數據庫分表。

它的語法幾乎跟mysql一致,用起來大部分時候是無感的。

但跟mysql有一點很不一樣的就是,mysql建議id自增,但tidb卻建議使用隨機的uuid。原因是如果id自增的話,根據范圍分片的規則,一段時間內生成的id幾乎都會落到同一個分片上,比如下圖,從3kw開始的自增uuid,幾乎都落到range 1這個分片中,而其他表卻幾乎不會有寫入,性能沒有被利用起來。出現一表有難,多表圍觀的場面,這種情況又叫寫熱點問題。

圖片

寫熱點問題

所以為了充分的利用多個分表的寫入能力,tidb建議我們寫入時使用隨機id,這樣數據就能被均勻分散到多個分片中。

用戶id不建議用自增id

前面提到的不建議使用自增id的場景,都是技術原因導致的,而下面介紹的這個,單純是因為業務。

舉個例子吧。

如果你能知道一個產品每個月,新增的用戶數有多少,這個對你來說會是有用的信息嗎?

對程序員來說,可能這個信息價值不大。

但如果你是做投資的呢,或者是分析競爭對手呢?

那反過來。

如果你發現你的競爭對手,總能非常清晰的知道你的產品每個月新進的注冊用戶是多少人,你會不會心里毛毛的?

如果真出現了這問題,先不要想是不是有內鬼,先檢查下你的用戶表主鍵是不是自增的。

圖片圖片

如果用戶id是自增的,那別人只要每個月都注冊一個新用戶,然后抓包得到這個用戶的user_id,然后跟上個月的值減一下,就知道這個月新進多少用戶了。

同樣的場景有很多,有時候你去小店吃飯,發票上就寫了你是今天的第幾單,那大概就能估計今天店家做了多少單。你是店家,你心里也不舒服吧。

再比如說一些小app的商品訂單id,如果也做成自增的,那就很容易可以知道這個月成了多少單。

類似的事情有很多,這些場景都建議使用趨勢遞增的uuid作為主鍵。

當然,主鍵保持自增,但是不暴露給前端,那也行,那前面的話,你當我沒說過。

總結

  • 建表sql里主鍵邊上的AUTO_INCREMENT,可以讓主鍵自增,去掉它是可以的,但這就需要你在insert的時候自己設置主鍵的值。
  • 建表sql里的 PRIMARY KEY 是用來聲明主鍵的,如果去掉,那也能建表成功,但mysql內部會給你偷偷建一個 ROW_ID的隱藏列作為主鍵。
  • 由于mysql使用B+樹索引,葉子節點是從小到大排序的,如果使用自增id做主鍵,這樣每次數據都加在B+樹的最后,比起每次加在B+樹中間的方式,加在最后可以有效減少頁分裂的問題。
  • 在分庫分表的場景下,我們可以通過redis等第三方組件來獲得嚴格自增的主鍵id。如果不想依賴redis,可以參考雪花算法進行魔改,既能保證數據趨勢遞增,也能很好的滿足分庫分表的動態擴容。
  • 并不是所有數據庫都建議使用自增id作為主鍵,比如tidb就推薦使用隨機id,這樣可以有效避免寫熱點的問題。而對于一些敏感數據,比如用戶id,訂單id等,如果使用自增id作為主鍵的話,外部通過抓包,很容易可以知道新進用戶量,成單量這些信息,所以需要謹慎考慮是否繼續使用自增主鍵。
責任編輯:姜華 來源: 小白debug
相關推薦

2023-12-26 01:09:28

MySQL存儲釋放鎖

2022-12-06 09:00:11

MySQL自增主鍵查詢

2009-09-24 13:49:31

Hibernate自增

2019-12-09 10:03:40

MySQLSQL數據庫

2020-04-21 15:59:50

MySQL自增主鍵數據庫

2011-01-18 09:47:33

自增ID

2024-10-24 09:22:30

2020-08-24 07:19:13

主鍵自增數據庫

2011-08-18 18:34:00

Oracle數據庫創建自增字段

2024-10-08 15:31:45

2021-09-28 17:48:20

MySQL主鍵索引

2023-10-24 15:27:33

Mysql自增主鍵

2010-06-04 11:15:23

MySQL自增主鍵

2011-03-21 12:58:26

Oracle自增字段

2021-05-31 19:50:04

MySQL自增鎖InnoDB

2024-06-07 10:14:23

2020-05-06 15:02:58

MySQL數據庫技術

2010-06-18 13:47:21

SQL Server數

2025-07-03 02:15:00

MySQLID+UUIDB+樹

2010-04-26 11:55:48

Oracle自增字段
點贊
收藏

51CTO技術棧公眾號

久久精品亚洲精品国产欧美| 亚洲人体av| 欧美中文字幕一区二区三区| 亚洲午夜精品久久久中文影院av| 国产伦精品一区二区三区四区 | 日韩在线观看视频一区二区| 97久久综合精品久久久综合| 色婷婷av久久久久久久| 日本xxx免费| 三级毛片在线免费看| 日本不卡123| 久久欧美在线电影| 蜜桃av免费在线观看| 动漫av一区| 欧美日韩国产成人在线91| av免费观看大全| 免费av网站在线观看| 91日韩在线专区| av噜噜色噜噜久久| 欧美啪啪小视频| 欧美女人交a| 一区二区福利视频| 国产精品成人无码专区| 中文字幕日韩亚洲| 色悠悠亚洲一区二区| 欧美性潮喷xxxxx免费视频看| a视频网址在线观看| 成人动漫中文字幕| 精品欧美一区二区三区| 国产欧美日韩综合精品| 日本网站在线免费观看| 999国产精品视频| 亚洲美女在线观看| 精品一区二区三区四区五区六区| 亚洲精品66| 国模吧精品人体gogo| 韩国毛片一区二区三区| 欧美亚洲激情在线| 免费人成年激情视频在线观看| 成人高清av| 亚洲欧洲午夜一线一品| 国产成人在线免费看| 日韩欧美性视频| 天天做天天爱天天爽综合网| 在线观看免费高清视频97| 黄色片视频免费观看| 中文字幕一区日韩精品| 欧美放荡的少妇| 欧美丝袜足交| 亚洲国产成人精品视频| 美女在线免费视频| 欧美成人视屏| 中文字幕一区二区在线播放| 亚洲va天堂va欧美ⅴa在线| 美女视频一区在线观看| 国产91网红主播在线观看| 国产无遮挡呻吟娇喘视频| 亚洲国产黄色| 欧美亚洲视频在线观看| 97免费在线观看视频| 亚洲美女色禁图| 午夜精品久久久久久99热软件| 欧美日韩中文视频| 国产一区二区三区的电影| 5252色成人免费视频| 日韩精品一区二区亚洲av| 久久久国产亚洲精品| 国产ts人妖一区二区三区| 日韩美一区二区| 日本亚洲一区二区| 成人激情春色网| 精品人妻一区二区三区换脸明星 | 成 人 黄 色 片 在线播放| 国产美女主播视频一区| 99一区二区| 神马午夜在线观看| 久久久精品综合| 一区二区三区四区国产| av在线免费播放| 亚洲国产成人91porn| 成熟了的熟妇毛茸茸| 四虎成人在线| 欧美精品乱人伦久久久久久| 1314成人网| 牛牛影视久久网| 在线观看精品自拍私拍| 清纯粉嫩极品夜夜嗨av| 一本色道久久综合亚洲精品高清| 国产成人欧美在线观看| 国产人妖在线播放| a亚洲天堂av| 亚洲精品高清国产一线久久| 三级网站视频在在线播放| 欧美视频在线观看 亚洲欧| 一道本在线免费视频| 国产精品sss在线观看av| 伊人男人综合视频网| 99精品久久久久| 日韩中文字幕av电影| 亚洲自拍欧美色图| 国产一级片在线播放| 亚洲狼人国产精品| 国产免费999| 国内精品国产成人国产三级粉色 | 在线国产视频一区| 欧美日韩亚洲一区| 国产欧美精品一区二区三区介绍| 国产成人自拍一区| 国产精品激情偷乱一区二区∴| 无码 制服 丝袜 国产 另类| 色诱色偷偷久久综合| 亚洲人成网站免费播放| 久久久久久福利| 免费在线观看成人| 美脚丝袜一区二区三区在线观看| 成人福利片网站| 欧美主播一区二区三区| 中文文字幕文字幕高清| 欧美xxx在线观看| 国产精品美女在线观看| 日本ー区在线视频| 午夜影视日本亚洲欧洲精品| 亚洲国产日韩欧美在线观看| 中文字幕av一区二区三区人| 性欧美激情精品| 午夜精品久久久久久久99老熟妇| 国产精品久久久久久久久免费丝袜| 久久网站免费视频| av日韩精品| 九色91av视频| 国产免费一区二区三区免费视频| 国产丝袜欧美中文另类| 国产主播在线看| 国产伦精品一区二区三区免费优势| 久久精品国产亚洲精品2020| 日本三级一区二区三区| 国产午夜精品理论片a级大结局 | 三妻四妾完整版在线观看电视剧| 精品日韩一区二区三区| 欧美日韩国产精品综合| 国产一区二区三区在线观看精品 | 亚洲深夜激情| 国产青春久久久国产毛片 | 欧美与黑人午夜性猛交久久久| 亚洲黄色在线观看视频| 一区二区不卡在线播放| 午夜诱惑痒痒网| 女同性一区二区三区人了人一| 成人妇女免费播放久久久| 在线观看麻豆蜜桃| 欧美日韩成人一区| 麻豆精品国产免费| 国产一区二区三区在线观看精品| 免费在线观看污污视频| 国产精品成人3p一区二区三区 | 欧美日韩三区四区| 婷婷激情一区| 在线日韩精品视频| 97超视频在线观看| 亚洲欧美另类久久久精品| 久久久久久久久久毛片| 欧美韩国一区| 狠狠干一区二区| 亚洲欧美在线成人| 色偷偷噜噜噜亚洲男人的天堂| 7777久久亚洲中文字幕| 亚洲精品乱码久久久久久久久 | 精品国产一区二区三区不卡蜜臂| 久久人人看视频| 欧美zozo| 欧美高清hd18日本| 国产在线观看免费视频今夜| 99久久精品免费看| 欧美一级特黄a| 你懂的亚洲视频| 免费试看一区| 日韩久久一区| 国内精品久久久久伊人av| 国自产拍在线网站网址视频| 欧美人牲a欧美精品| 欧美成人黄色网| 久久综合久久综合久久| 日日干夜夜操s8| 一区在线视频观看| 日韩欧美在线一区二区| 国产精品一站二站| 2023亚洲男人天堂| 精品国产丝袜高跟鞋| 亚洲精品电影在线观看| 国产精品51麻豆cm传媒| 一区二区免费看| 性欧美一区二区| 夫妻av一区二区| 欧美 激情 在线| 一区二区三区四区日韩| 久久综合色一本| 久久亚洲精精品中文字幕| 欧美一区亚洲一区| 成人av免费| 一本色道久久88亚洲综合88| 亚洲成人精品女人久久久| 色88888久久久久久影院按摩| 男人操女人的视频网站| 久久精品欧美一区二区三区麻豆| 欧美高清精品一区二区| 日韩电影在线一区二区三区| 久艹在线免费观看| 婷婷综合在线| 日本欧洲国产一区二区| 精品av导航| 51精品国产人成在线观看| 国产一区一一区高清不卡| 国自在线精品视频| 影音先锋男人资源在线| 在线播放亚洲激情| 日本精品专区| 亚洲成人av片在线观看| 国产熟女精品视频| 欧美性猛片aaaaaaa做受| 五月婷婷激情网| 亚洲午夜视频在线| 欧美三级 欧美一级| 一区在线中文字幕| 久久久久久国产免费a片| 91麻豆123| 亚洲精品乱码久久久久久不卡| 国产尤物一区二区| 男生操女生视频在线观看| 蜜桃视频一区二区| 9久久婷婷国产综合精品性色| 国产日韩欧美高清免费| 男人添女人下部视频免费| 91精品国产成人观看| 一区二区视频在线播放| 欧美熟乱15p| 日本高清不卡一区二区三| 麻豆精品少妇| 精品国产免费久久久久久尖叫| 一区二区三区四区高清视频| 91亚洲精华国产精华| 伊人久久大香伊蕉在人线观看热v| 国产成人精品综合久久久| 日韩欧美另类一区二区| 日韩av电影中文字幕| 成人性教育av免费网址| 日本精品视频在线观看| 日韩欧美看国产| 国产精品嫩草视频| 成人在线高清| 国产在线高清精品| 亚洲国产精选| 99视频在线免费观看| xxxxxhd亚洲人hd| 极品尤物一区二区三区| 久久九九热re6这里有精品 | 手机在线观看日韩av| 高清av一区二区| 国产伦精品一区二区免费| 99久久婷婷国产综合精品电影| a天堂视频在线观看| 2021中文字幕一区亚洲| 黄色片网站免费| 国产精品久久看| 深夜福利影院在线观看| 亚洲国产精品久久人人爱| 日韩av黄色片| 日本精品一区二区三区四区的功能| 久久久黄色大片| 欧美日韩激情在线| 国产精品系列视频| 精品久久久久99| 日本成人一区二区三区| 精品国产自在精品国产浪潮| 污污的网站在线免费观看| 97精品国产97久久久久久春色| 美女100%一区| 91探花福利精品国产自产在线| 9l视频自拍九色9l视频成人| 蜜桃999成人看片在线观看| 日韩精品免费一区二区在线观看| 亚洲资源视频| 欧美日韩一区自拍| 国产成人综合一区| 国产一区二区三区av电影 | 91最新在线观看| 国产九色精品成人porny | 亚洲色图.com| 国产精品久久久久久久妇| 欧美日韩一区三区四区| 亚洲AV午夜精品| 国产亚洲欧美另类中文| 欧美极品少妇videossex| 国产精品91在线观看| 精品欧美视频| 欧美在线播放一区| 欧美一区亚洲| 妓院一钑片免看黄大片| 成人美女在线视频| 久草福利资源在线| 狠狠做深爱婷婷久久综合一区 | 婷婷激情一区| 国产精品乱码视频| 91影院成人| 久久久精品在线视频| 国产激情精品久久久第一区二区| 制服 丝袜 综合 日韩 欧美| 亚洲最新视频在线播放| 中文字幕在线视频第一页| 亚洲国产高清福利视频| 欧美成年黄网站色视频| 日本aⅴ大伊香蕉精品视频| 日韩最新av| japanese在线视频| 日本aⅴ精品一区二区三区| 先锋资源av在线| 亚洲精品综合在线| 中文字幕日产av| 亚洲精品日韩丝袜精品| www在线看| av日韩免费电影| 一本到12不卡视频在线dvd| 亚洲 中文字幕 日韩 无码| 波多野结衣中文字幕一区| 五月天丁香激情| 91精品国产一区二区三区香蕉| 成人综合影院| 日韩美女毛茸茸| 色吊丝一区二区| 奇米精品一区二区三区| 成人精品免费网站| 久久精品久久精品久久| 日韩欧美激情一区| av片在线观看| **亚洲第一综合导航网站| 999久久久精品国产| 天天干天天爽天天射| 国产亚洲va综合人人澡精品| 国产又黄又猛又粗又爽| 亚洲精品91美女久久久久久久| 欧美1—12sexvideos| 成人羞羞视频免费| 欧美日韩亚洲一区二区三区在线| 亚洲av综合色区无码另类小说| 亚洲免费观看高清完整版在线观看 | 樱花草www在线| 亚洲欧美日韩系列| a视频免费在线观看| 欧美精品在线免费播放| 日韩精品成人| 免费看毛片的网址| 99久久精品国产导航| 国产91精品一区| 国产亚洲激情视频在线| 国产经典一区| 在线一区高清| 国产精品一卡二卡在线观看| 欧美精品色哟哟| 精品国产91久久久久久久妲己 | 午夜免费久久看| 天堂v视频永久在线播放| 国自产精品手机在线观看视频| 亚洲第一福利社区| 色哟哟精品视频| 亚洲欧美日韩中文字幕一区二区三区 | 欧美一区二区观看视频| 日本大片在线播放| 久久久久久艹| 奇米亚洲午夜久久精品| 情侣偷拍对白清晰饥渴难耐| 日韩午夜激情免费电影| 极品av在线| 涩涩涩999| 国产美女精品一区二区三区| 国产在线一区视频| 国产视频丨精品|在线观看| 色猫猫成人app| 欧美黄色免费网址| 久久婷婷国产综合国色天香| 一本色道久久综合精品婷婷| 欧美激情一区二区三区高清视频| 亚洲v天堂v手机在线| 中文字幕第一页在线视频| 亚洲国产视频网站| 黄色的视频在线免费观看| 亚洲一区二区在线| 国产视频一区三区| 黄色香蕉视频在线观看| 日韩av在线不卡| 999色成人| 久久无码高潮喷水| 一区二区三区精品在线观看| 日韩av免费观影| 亚洲综合日韩中文字幕v在线| 亚洲欧美日韩专区| 精品国产乱码久久久久久鸭王1 | 亚洲欧美网站| 久久精品黄色片| 国产一区二区三区视频在线观看 | 日本一区二区久久精品| 国产91精品免费|