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

為什么MySQL不推薦使用uuid或者雪花id作為主鍵?

數(shù)據(jù)庫(kù) MySQL
在mysql中設(shè)計(jì)表的時(shí)候,mysql官方推薦不要使用uuid或者不連續(xù)不重復(fù)的雪花id(long形且唯一,單機(jī)遞增),而是推薦連續(xù)自增的主鍵id,本篇博客我們就來(lái)分析這個(gè)問(wèn)題。

前言

在mysql中設(shè)計(jì)表的時(shí)候,mysql官方推薦不要使用uuid或者不連續(xù)不重復(fù)的雪花id(long形且唯一,單機(jī)遞增),而是推薦連續(xù)自增的主鍵id,官方的推薦是auto_increment,那么為什么不建議采用uuid,使用uuid究竟有什么壞處?

本篇博客我們就來(lái)分析這個(gè)問(wèn)題,探討一下內(nèi)部的原因。

本篇博客的目錄

  •  mysql程序?qū)嵗?/li>
  •  使用uuid和自增id的索引結(jié)構(gòu)對(duì)比
  •  總結(jié)

一、mysql和程序?qū)嵗?/strong>

1.1.要說(shuō)明這個(gè)問(wèn)題,我們首先來(lái)建立三張表

分別是user_auto_key,user_uuid,user_random_key,分別表示自動(dòng)增長(zhǎng)的主鍵,uuid作為主鍵,隨機(jī)key作為主鍵,其它我們完全保持不變.

根據(jù)控制變量法,我們只把每個(gè)表的主鍵使用不同的策略生成,而其他的字段完全一樣,然后測(cè)試一下表的插入速度和查詢速度:

注:這里的隨機(jī)key其實(shí)是指用雪花算法算出來(lái)的前后不連續(xù)不重復(fù)無(wú)規(guī)律的id:一串18位長(zhǎng)度的long值

id自動(dòng)生成表:

用戶uuid表

隨機(jī)主鍵表:

1.2.光有理論不行,直接上程序,使用spring的jdbcTemplate來(lái)實(shí)現(xiàn)增查測(cè)試:

技術(shù)框架:springboot+jdbcTemplate+junit+hutool,程序的原理就是連接自己的測(cè)試數(shù)據(jù)庫(kù),然后在相同的環(huán)境下寫入同等數(shù)量的數(shù)據(jù),來(lái)分析一下insert插入的時(shí)間來(lái)進(jìn)行綜合其效率,為了做到最真實(shí)的效果,所有的數(shù)據(jù)采用隨機(jī)生成,比如名字、郵箱、地址都是隨機(jī)生成。

搜索Java知音公眾號(hào),回復(fù)“后端面試”,送你一份Java面試題寶典 

  1. package com.wyq.mysqldemo;  
  2. import cn.hutool.core.collection.CollectionUtil;  
  3. import com.wyq.mysqldemo.databaseobject.UserKeyAuto;  
  4. import com.wyq.mysqldemo.databaseobject.UserKeyRandom;  
  5. import com.wyq.mysqldemo.databaseobject.UserKeyUUID;  
  6. import com.wyq.mysqldemo.diffkeytest.AutoKeyTableService;  
  7. import com.wyq.mysqldemo.diffkeytest.RandomKeyTableService;  
  8. import com.wyq.mysqldemo.diffkeytest.UUIDKeyTableService;  
  9. import com.wyq.mysqldemo.util.JdbcTemplateService;  
  10. import org.junit.jupiter.api.Test;  
  11. import org.springframework.beans.factory.annotation.Autowired;  
  12. import org.springframework.boot.test.context.SpringBootTest;  
  13. import org.springframework.util.StopWatch;  
  14. import java.util.List;  
  15. @SpringBootTest  
  16. class MysqlDemoApplicationTests {  
  17.     @Autowired  
  18.     private JdbcTemplateService jdbcTemplateService; 
  19.      @Autowired  
  20.     private AutoKeyTableService autoKeyTableService;  
  21.     @Autowired  
  22.     private UUIDKeyTableService uuidKeyTableService;  
  23.     @Autowired  
  24.     private RandomKeyTableService randomKeyTableService;  
  25.     @Test  
  26.     void testDBTime() {  
  27.         StopWatch stopwatch = new StopWatch("執(zhí)行sql時(shí)間消耗");  
  28.         /**  
  29.          * auto_increment key任務(wù)  
  30.          */  
  31.         final String insertSql = "INSERT INTO user_key_auto(user_id,user_name,sex,address,city,email,state) VALUES(?,?,?,?,?,?,?)" 
  32.         List<UserKeyAuto> insertData = autoKeyTableService.getInsertData();  
  33.         stopwatch.start("自動(dòng)生成key表任務(wù)開(kāi)始");  
  34.         long start1 = System.currentTimeMillis();  
  35.         if (CollectionUtil.isNotEmpty(insertData)) {  
  36.             boolean insertResult = jdbcTemplateService.insert(insertSql, insertData, false);  
  37.             System.out.println(insertResult);  
  38.         }  
  39.         long end1 = System.currentTimeMillis();  
  40.         System.out.println("auto key消耗的時(shí)間:" + (end1 - start1));  
  41.         stopwatch.stop();  
  42.         /**  
  43.          * uudID的key  
  44.          */  
  45.         final String insertSql2 = "INSERT INTO user_uuid(id,user_id,user_name,sex,address,city,email,state) VALUES(?,?,?,?,?,?,?,?)" 
  46.         List<UserKeyUUID> insertData2 = uuidKeyTableService.getInsertData();  
  47.         stopwatch.start("UUID的key表任務(wù)開(kāi)始");  
  48.         long begin = System.currentTimeMillis(); 
  49.          if (CollectionUtil.isNotEmpty(insertData)) {  
  50.             boolean insertResult = jdbcTemplateService.insert(insertSql2, insertData2, true);  
  51.             System.out.println(insertResult);  
  52.         }  
  53.         long over = System.currentTimeMillis();  
  54.         System.out.println("UUID key消耗的時(shí)間:" + (over - begin));  
  55.         stopwatch.stop();  
  56.         /**  
  57.          * 隨機(jī)的long值key  
  58.          */  
  59.         final String insertSql3 = "INSERT INTO user_random_key(id,user_id,user_name,sex,address,city,email,state) VALUES(?,?,?,?,?,?,?,?)" 
  60.         List<UserKeyRandom> insertData3 = randomKeyTableService.getInsertData();  
  61.         stopwatch.start("隨機(jī)的long值key表任務(wù)開(kāi)始");  
  62.         Long start = System.currentTimeMillis();  
  63.         if (CollectionUtil.isNotEmpty(insertData)) {  
  64.             boolean insertResult = jdbcTemplateService.insert(insertSql3, insertData3, true);  
  65.             System.out.println(insertResult);  
  66.         }  
  67.         Long end = System.currentTimeMillis();  
  68.         System.out.println("隨機(jī)key任務(wù)消耗時(shí)間:" + (end - start));  
  69.         stopwatch.stop();  
  70.         String result = stopwatch.prettyPrint();  
  71.         System.out.println(result); 
  72.      } 

1.3.程序?qū)懭虢Y(jié)果

user_key_auto寫入結(jié)果:

user_random_key寫入結(jié)果:

user_uuid表寫入結(jié)果:

1.4.效率測(cè)試結(jié)果

在已有數(shù)據(jù)量為130W的時(shí)候:我們?cè)賮?lái)測(cè)試一下插入10w數(shù)據(jù),看看會(huì)有什么結(jié)果:

可以看出在數(shù)據(jù)量100W左右的時(shí)候,uuid的插入效率墊底,并且在后序增加了130W的數(shù)據(jù),uudi的時(shí)間又直線下降。

時(shí)間占用量總體可以打出的效率排名為:auto_key>random_key>uuid,uuid的效率最低,在數(shù)據(jù)量較大的情況下,效率直線下滑。那么為什么會(huì)出現(xiàn)這樣的現(xiàn)象呢?帶著疑問(wèn),我們來(lái)探討一下這個(gè)問(wèn)題:

二、使用uuid和自增id的索引結(jié)構(gòu)對(duì)比

2.1.使用自增id的內(nèi)部結(jié)構(gòu)

自增的主鍵的值是順序的,所以Innodb把每一條記錄都存儲(chǔ)在一條記錄的后面。當(dāng)達(dá)到頁(yè)面的最大填充因子時(shí)候(innodb默認(rèn)的最大填充因子是頁(yè)大小的15/16,會(huì)留出1/16的空間留作以后的     修改):

①下一條記錄就會(huì)寫入新的頁(yè)中,一旦數(shù)據(jù)按照這種順序的方式加載,主鍵頁(yè)就會(huì)近乎于順序的記錄填滿,提升了頁(yè)面的最大填充率,不會(huì)有頁(yè)的浪費(fèi)

②新插入的行一定會(huì)在原有的最大數(shù)據(jù)行下一行,mysql定位和尋址很快,不會(huì)為計(jì)算新行的位置而做出額外的消耗

③減少了頁(yè)分裂和碎片的產(chǎn)生

2.2.使用uuid的索引內(nèi)部結(jié)構(gòu)

因?yàn)閡uid相對(duì)順序的自增id來(lái)說(shuō)是毫無(wú)規(guī)律可言的,新行的值不一定要比之前的主鍵的值要大,所以innodb無(wú)法做到總是把新行插入到索引的最后,而是需要為新行尋找新的合適的位置從而來(lái)分配新的空間。

這個(gè)過(guò)程需要做很多額外的操作,數(shù)據(jù)的毫無(wú)順序會(huì)導(dǎo)致數(shù)據(jù)分布散亂,將會(huì)導(dǎo)致以下的問(wèn)題:

①寫入的目標(biāo)頁(yè)很可能已經(jīng)刷新到磁盤上并且從緩存上移除,或者還沒(méi)有被加載到緩存中,innodb在插入之前不得不先找到并從磁盤讀取目標(biāo)頁(yè)到內(nèi)存中,這將導(dǎo)致大量的隨機(jī)IO

②因?yàn)閷懭胧莵y序的,innodb不得不頻繁的做頁(yè)分裂操作,以便為新的行分配空間,頁(yè)分裂導(dǎo)致移動(dòng)大量的數(shù)據(jù),一次插入最少需要修改三個(gè)頁(yè)以上

③由于頻繁的頁(yè)分裂,頁(yè)會(huì)變得稀疏并被不規(guī)則的填充,最終會(huì)導(dǎo)致數(shù)據(jù)會(huì)有碎片

在把隨機(jī)值(uuid和雪花id)載入到聚簇索引(innodb默認(rèn)的索引類型)以后,有時(shí)候會(huì)需要做一次OPTIMEIZE TABLE來(lái)重建表并優(yōu)化頁(yè)的填充,這將又需要一定的時(shí)間消耗。

結(jié)論:使用innodb應(yīng)該盡可能的按主鍵的自增順序插入,并且盡可能使用單調(diào)的增加的聚簇鍵的值來(lái)插入新行

搜索Java知音公眾號(hào),回復(fù)“后端面試”,送你一份Java面試題寶典

2.3.使用自增id的缺點(diǎn)

那么使用自增的id就完全沒(méi)有壞處了嗎?并不是,自增id也會(huì)存在以下幾點(diǎn)問(wèn)題:

①別人一旦爬取你的數(shù)據(jù)庫(kù),就可以根據(jù)數(shù)據(jù)庫(kù)的自增id獲取到你的業(yè)務(wù)增長(zhǎng)信息,很容易分析出你的經(jīng)營(yíng)情況

②對(duì)于高并發(fā)的負(fù)載,innodb在按主鍵進(jìn)行插入的時(shí)候會(huì)造成明顯的鎖爭(zhēng)用,主鍵的上界會(huì)成為爭(zhēng)搶的熱點(diǎn),因?yàn)樗械牟迦攵及l(fā)生在這里,并發(fā)插入會(huì)導(dǎo)致間隙鎖競(jìng)爭(zhēng)

③Auto_Increment鎖機(jī)制會(huì)造成自增鎖的搶奪,有一定的性能損失

附:Auto_increment的鎖爭(zhēng)搶問(wèn)題,如果要改善需要調(diào)優(yōu)innodb_autoinc_lock_mode的配置

三、總結(jié)

本篇博客首先從開(kāi)篇的提出問(wèn)題,建表到使用jdbcTemplate去測(cè)試不同id的生成策略在大數(shù)據(jù)量的數(shù)據(jù)插入表現(xiàn),然后分析了id的機(jī)制不同在mysql的索引結(jié)構(gòu)以及優(yōu)缺點(diǎn),深入的解釋了為何uuid和隨機(jī)不重復(fù)id在數(shù)據(jù)插入中的性能損耗,詳細(xì)的解釋了這個(gè)問(wèn)題。

在實(shí)際的開(kāi)發(fā)中還是根據(jù)mysql的官方推薦最好使用自增id,mysql博大精深,內(nèi)部還有很多值得優(yōu)化的點(diǎn)需要我們學(xué)習(xí)。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Java知音
相關(guān)推薦

2025-07-28 01:22:00

2020-09-08 09:04:26

uuidMySQL主鍵

2025-08-27 02:00:00

2024-11-12 10:30:54

Docker部署數(shù)據(jù)庫(kù)

2024-11-29 08:20:22

Autowired場(chǎng)景項(xiàng)目

2021-08-23 13:02:50

MySQLJOIN數(shù)據(jù)庫(kù)

2024-12-25 15:32:29

2024-06-04 00:10:00

開(kāi)發(fā)拷貝

2024-05-29 09:05:17

2025-05-16 02:00:00

HashMapJava代碼

2024-09-12 08:32:42

2025-07-03 02:15:00

MySQLID+UUIDB+樹(shù)

2023-11-06 13:04:59

Python日志庫(kù)

2023-02-03 08:36:35

2025-10-17 01:25:00

SpringIDEA@Autowired

2022-01-11 10:29:32

Docker文件掛載

2025-04-29 07:06:20

2020-04-21 15:59:50

MySQL自增主鍵數(shù)據(jù)庫(kù)

2021-07-04 14:19:03

RabbitMQ消息轉(zhuǎn)換

2021-01-13 09:55:29

try-catch-fJava代碼
點(diǎn)贊
收藏

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

亚洲成人网在线| 亚洲电影在线免费观看| 91久久综合亚洲鲁鲁五月天| 欧美卡一卡二卡三| 日韩av不卡一区| 欧美私人免费视频| 99国产精品白浆在线观看免费| 无码国产伦一区二区三区视频 | 无码内射中文字幕岛国片| 婷婷在线视频| 久久久五月婷婷| caoporn国产精品免费公开| 精品人妻无码一区二区性色| 欧美88av| 色阁综合伊人av| 黄色国产在线观看| 欧美电影院免费观看| 在线一区二区三区四区| 久久精品国产sm调教网站演员| 日本中文字幕在线视频| 久久久久久久久伊人| 国内一区在线| 精品国产av一区二区| 奇米在线7777在线精品| 66m—66摸成人免费视频| 日韩a级片在线观看| 欧美理论在线播放| 亚洲女人天堂视频| 中文字幕在线视频播放| 视频二区欧美| 91麻豆精品国产91久久久久久| 成人性视频欧美一区二区三区| h片精品在线观看| 亚洲欧美精品午睡沙发| 在线精品日韩| 欧美性videos| 国产精品色噜噜| 日韩国产欧美精品| 黄色av网址在线免费观看| 99久久免费视频.com| 国产精品自拍首页| 亚洲成人精品女人久久久| 加勒比av一区二区| 国产主播精品在线| 中文字幕在线观看国产| 青青草国产成人av片免费| 日韩av电影在线播放| 久久一区二区三区视频| 国产农村妇女精品一二区| 高清欧美性猛交xxxx黑人猛交| 久久无码精品丰满人妻| 国产精品成人一区二区网站软件| 两个人的视频www国产精品| 日韩在线不卡av| 先锋资源久久| 欧美激情第1页| 亚洲视频免费播放| 国产精品久久久久久模特| 欧美一级视频免费在线观看| 国产三级av片| 日韩av一级片| 国产有码一区二区| 精品人妻伦一区二区三区久久| 国产一区不卡精品| 91精品久久香蕉国产线看观看| av中文字幕免费| 国产福利一区二区三区视频在线| 国产精品久久精品国产| 香蕉视频网站在线| 国产拍揄自揄精品视频麻豆 | 欧美激情第二页| 久久久久国产视频| 天天综合网入口| 日韩中文字幕av电影| 成人在线视频网站| 免费观看国产视频| 久久久电影一区二区三区| 亚洲国产欧美不卡在线观看| 黄色片网站在线| 午夜精品视频在线观看| 亚洲国产精品三区| 一区二区三区高清在线观看| 亚洲人av在线影院| 曰本女人与公拘交酡| www.555国产精品免费| 都市激情亚洲一区| 欧美日韩卡一卡二| 亚洲一级Av无码毛片久久精品| 久久亚洲黄色| 色偷偷91综合久久噜噜| 国产第一页在线播放| 日韩电影在线观看网站| 亚洲综合最新在线| 每日更新av在线播放| 亚洲激情五月婷婷| 日本va中文字幕| 日韩视频在线直播| 亚洲欧美日本另类| 欧美三级小视频| 日韩电影在线观看一区| 国产精品久久久久久久免费大片| 高清国产福利在线观看| 亚洲一区二区三区中文字幕在线| 天天影视综合色| 亚洲网址在线观看| 中文字幕亚洲字幕| 中文字幕第15页| 国产精品一二三| 视频一区视频二区视频三区视频四区国产 | 男女性高潮免费网站| 首页亚洲欧美制服丝腿| www.成人av| 欧美激情视频在线播放| 色综合久久久网| 免费不卡的av| 亚洲网色网站| 91精品久久久久久久久| 日本私人网站在线观看| 亚洲国产精品视频| 午夜影院免费版| 欧美激情国产在线| 国产成人高清激情视频在线观看 | 国产亚洲精品久久久久久| 国产亚洲第一页| 国产一区二区精品久久99| 午夜一区二区三区| 网友自拍亚洲| 亚洲免费av网址| 在线观看国产亚洲| 成人av影院在线| 妺妺窝人体色www看人体| 91国产一区| 久久天天躁狠狠躁老女人| 一本大道伊人av久久综合| 久久精品网站免费观看| 97成人在线观看视频| 久久97精品| 97国产精品人人爽人人做| 黄色成人一级片| 亚洲一区电影777| 国产人妖在线观看| 国产精品分类| 成人欧美一区二区| 欧美1—12sexvideos| 日韩视频永久免费| 免费视频一二三区| 成人视屏免费看| www精品久久| 日韩激情网站| 热99精品里视频精品| 国产在线观看黄| 欧洲一区在线观看| 中文国语毛片高清视频| 精品亚洲成a人在线观看| 国产人妻互换一区二区| 日本在线一区二区三区| 久久久久久久久爱| 午夜视频在线播放| 色婷婷综合久久久久中文一区二区 | 亚洲永久精品大片| 亚洲自拍第三页| 欧美三级黄美女| 国产亚洲精品久久飘花| 亚洲伊人av| 中文字幕免费国产精品| 97国产精品久久久| 一区二区三区四区国产精品| 国产香蕉精品视频| 蘑菇福利视频一区播放| 日本一区二区三区视频在线播放| 91热这里只有精品| 成人勉费视频| 中文字幕欧美日韩| 999免费视频| 亚洲18色成人| 日本性高潮视频| 国产综合久久久久影院| 免费看日b视频| 欧洲vs亚洲vs国产| 国产精品一区二区电影| 性爱视频在线播放| 亚洲精品视频中文字幕| 亚洲字幕av一区二区三区四区| 亚洲天堂中文字幕| 亚洲国产第一区| 久久www免费人成看片高清| 日本大片免费看| 国产精品一区二区99| 91欧美激情另类亚洲| 888av在线视频| 色偷偷9999www| 风流少妇一区二区三区91| 色999日韩国产欧美一区二区| 国产精品成人69xxx免费视频| 成人av高清在线| 亚洲欧美视频二区| 亚洲深夜激情| 懂色av一区二区三区四区五区| 欧美人妖视频| 91成人伦理在线电影| 日本成人伦理电影| 欧美极品少妇xxxxⅹ免费视频 | 无码中文字幕色专区| 久久麻豆精品| 精品蜜桃一区二区三区| 疯狂欧洲av久久成人av电影 | 国产a∨精品一区二区三区仙踪林| 亚洲国产精品成人久久综合一区| 色哟哟视频在线| 精品一区二区三区免费观看| 日韩av三级在线| 欧美人成网站| 国产91av视频在线观看| 国产精品密蕾丝视频下载| 国产91aaa| 久久久久亚洲精品中文字幕| 国产精品黄视频| 国产高清不卡| 亚洲午夜精品久久久久久app| 国产一区二区不卡视频在线观看| 韩国三级大全久久网站| 国产精品一区久久久| 香蕉成人av| 琪琪第一精品导航| 美女高潮视频在线看| 久久99国产综合精品女同| 日本中文字幕视频在线| 免费污视频在线一区| 日韩中文字幕av| 男人的天堂在线免费视频| 精品国产污网站| 精品国产乱码一区二区三| 欧美日韩高清不卡| 看黄色一级大片| 欧美日韩中文在线观看| 国产又大又黑又粗免费视频| 亚洲一区在线观看视频| 欧美日韩一级在线观看| 亚洲欧美另类图片小说| 希岛爱理中文字幕| 亚洲免费在线视频一区 二区| 黑人狂躁日本娇小| 国产精品福利一区二区三区| 人成免费在线视频| 国产精品久久久久久福利一牛影视| 法国空姐电影在线观看| 久久精品亚洲乱码伦伦中文 | 国产日韩精品一区二区浪潮av| 国产麻豆xxxvideo实拍| 91尤物视频在线观看| 国产精品九九视频| 91在线小视频| 老牛影视av老牛影视av| 国产午夜精品在线观看| 中文字幕欧美激情极品| 最新不卡av在线| 国产成人精品网站| 你懂的国产视频| 午夜日韩在线观看| www.中文字幕在线观看| 色先锋资源久久综合| 国产亚洲久一区二区| 欧美日韩dvd在线观看| 国产精品一区二区三区在线免费观看| 欧美日韩日日夜夜| 国产偷拍一区二区| 精品国产乱码91久久久久久网站| 无码精品黑人一区二区三区 | 国产精品麻豆久久| 中国一级黄色录像| 亚洲第一毛片| 久久久久久久少妇| 韩国av一区二区三区四区| 四虎成人免费视频| ww亚洲ww在线观看国产| 九一在线免费观看| 一区二区三区欧美视频| 青青国产在线观看| 欧美无乱码久久久免费午夜一区| 国产免费不卡av| 亚洲精品www久久久| av资源在线观看免费高清| 色与欲影视天天看综合网| 韩国主播福利视频一区二区三区| 国产在线999| 日韩电影不卡一区| 制服诱惑一区| 99人久久精品视频最新地址| 最新天堂中文在线| av在线播放不卡| 色哟哟一一国产精品| 精品国产91久久久久久| 国产精品丝袜黑色高跟鞋| 亚洲国产又黄又爽女人高潮的| 婷婷在线视频| 青草青草久热精品视频在线网站 | 成人美女黄网站| 成人免费淫片aa视频免费| 欧美电影完整版在线观看| 亚洲欧美精品| 一区二区三区四区五区精品视频| 欧美特黄aaa| 国产午夜亚洲精品理论片色戒| 青青草原国产视频| 欧美在线制服丝袜| 天天干天天草天天射| 久久影视免费观看| 成人日韩在线| 国产一区二区三区高清| 欧美成人久久| 色播五月综合网| 国产日产欧美一区| 日本一区二区三区精品| 粉嫩绯色av一区二区在线观看| 成人在线免费观看一区| 日韩精品第一区| 国产女女做受ⅹxx高潮| 成人精品电影在线观看| 小泽玛利亚一区二区免费| 日韩欧美在线国产| 手机av在线免费观看| 九九综合九九综合| 国产精品国产亚洲精品| 亚洲欧美久久久久一区二区三区| 蜜桃视频一区| 亚洲最大的黄色网| 亚洲国产你懂的| 亚洲黄色一级大片| 欧美理论片在线观看| 日本一区二区三区视频在线看| 亚洲一区三区视频在线观看| 日韩电影免费一区| 性猛交ⅹxxx富婆video| 色域天天综合网| 日韩av成人| 欧洲日本亚洲国产区| 欧美巨大xxxx| 日韩国产一级片| 不卡的av中国片| 国产成人一区二区三区影院在线| 亚洲爱爱爱爱爱| 91九色porn在线资源| 国产精品theporn88| 极品裸体白嫩激情啪啪国产精品| 性生交大片免费看l| 一区二区在线看| 老牛影视av牛牛影视av| 久久久免费av| 欧美变态挠脚心| 久久无码高潮喷水| 久久久美女艺术照精彩视频福利播放| 波多野结衣视频网址| 在线观看不卡av| 99久久久成人国产精品| 国产精品视频网站在线观看| 懂色av中文一区二区三区| 日韩xxxxxxxxx| 国产丝袜一区二区三区免费视频 | 欧美精品福利| www.美色吧.com| 色综合久久久久综合体桃花网| av在线免费一区| 91亚洲国产成人久久精品网站 | 国产精品探花在线观看| 国产精品视频自拍| 99久久夜色精品国产亚洲96| 超碰91在线播放| 五月天亚洲婷婷| 国产高清av在线| 成人性生交大片免费观看嘿嘿视频| 欧美日本在线| 成年人免费观看视频网站| 欧美人伦禁忌dvd放荡欲情| 中文在线手机av| 久久国产精品-国产精品| 日韩高清在线不卡| 青青草激情视频| 精品亚洲一区二区三区| 色综合视频一区二区三区44| 日本免费成人网| 久久久久久久综合日本| 国产精品人人爽| 欧美又大又硬又粗bbbbb| 91中文字幕精品永久在线| 老熟女高潮一区二区三区| 色婷婷综合五月| 女人天堂av在线播放| 日韩欧美亚洲日产国| 日本熟妇乱子伦xxxx| 亚洲图片在线综合| 中文字幕一区二区三区日韩精品| 久久久久久久久久久福利| 1区2区3区欧美| 天堂av在线资源| 91精品视频在线看| 美日韩精品视频| 久久久久久久伊人| 日韩中文在线视频| 九九综合九九| 欧美一级片黄色|