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

為啥不能用uuid做MySQL的主鍵?

數(shù)據(jù)庫(kù) MySQL
在 MySQL 中設(shè)計(jì)表的時(shí)候,MySQL 官方推薦不要使用 uuid 或者不連續(xù)不重復(fù)的雪花 id(long 形且唯一,單機(jī)遞增),而是推薦連續(xù)自增的主鍵 id,官方的推薦是 auto_increment。

 在 MySQL 中設(shè)計(jì)表的時(shí)候,MySQL 官方推薦不要使用 uuid 或者不連續(xù)不重復(fù)的雪花 id(long 形且唯一,單機(jī)遞增),而是推薦連續(xù)自增的主鍵 id,官方的推薦是 auto_increment。

[[341150]]
圖片來(lái)自 Pexels

 

那么為什么不建議采用 uuid,使用 uuid 究竟有什么壞處?本問(wèn)我們從以下幾個(gè)部分來(lái)分析這個(gè)問(wèn)題,探討一下內(nèi)部的原因:

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

MySQL 程序?qū)嵗?/span>

要說(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ī)主鍵表:

 

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

技術(shù)框架:Spring Boot+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ī)生成:

  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.  
  16. @SpringBootTest 
  17. class MysqlDemoApplicationTests { 
  18.  
  19.     @Autowired 
  20.     private JdbcTemplateService jdbcTemplateService; 
  21.  
  22.     @Autowired 
  23.     private AutoKeyTableService autoKeyTableService; 
  24.  
  25.     @Autowired 
  26.     private UUIDKeyTableService uuidKeyTableService; 
  27.  
  28.     @Autowired 
  29.     private RandomKeyTableService randomKeyTableService; 
  30.  
  31.  
  32.     @Test 
  33.     void testDBTime() { 
  34.  
  35.         StopWatch stopwatch = new StopWatch("執(zhí)行sql時(shí)間消耗"); 
  36.  
  37.  
  38.         /** 
  39.          * auto_increment key任務(wù) 
  40.          */ 
  41.         final String insertSql = "INSERT INTO user_key_auto(user_id,user_name,sex,address,city,email,state) VALUES(?,?,?,?,?,?,?)"
  42.  
  43.         List<UserKeyAuto> insertData = autoKeyTableService.getInsertData(); 
  44.         stopwatch.start("自動(dòng)生成key表任務(wù)開(kāi)始"); 
  45.         long start1 = System.currentTimeMillis(); 
  46.         if (CollectionUtil.isNotEmpty(insertData)) { 
  47.             boolean insertResult = jdbcTemplateService.insert(insertSql, insertData, false); 
  48.             System.out.println(insertResult); 
  49.         } 
  50.         long end1 = System.currentTimeMillis(); 
  51.         System.out.println("auto key消耗的時(shí)間:" + (end1 - start1)); 
  52.  
  53.         stopwatch.stop(); 
  54.  
  55.  
  56.         /** 
  57.          * uudID的key 
  58.          */ 
  59.         final String insertSql2 = "INSERT INTO user_uuid(id,user_id,user_name,sex,address,city,email,state) VALUES(?,?,?,?,?,?,?,?)"
  60.  
  61.         List<UserKeyUUID> insertData2 = uuidKeyTableService.getInsertData(); 
  62.         stopwatch.start("UUID的key表任務(wù)開(kāi)始"); 
  63.         long begin = System.currentTimeMillis(); 
  64.         if (CollectionUtil.isNotEmpty(insertData)) { 
  65.             boolean insertResult = jdbcTemplateService.insert(insertSql2, insertData2, true); 
  66.             System.out.println(insertResult); 
  67.         } 
  68.         long over = System.currentTimeMillis(); 
  69.         System.out.println("UUID key消耗的時(shí)間:" + (over - begin)); 
  70.  
  71.         stopwatch.stop(); 
  72.  
  73.  
  74.         /** 
  75.          * 隨機(jī)的long值key 
  76.          */ 
  77.         final String insertSql3 = "INSERT INTO user_random_key(id,user_id,user_name,sex,address,city,email,state) VALUES(?,?,?,?,?,?,?,?)"
  78.         List<UserKeyRandom> insertData3 = randomKeyTableService.getInsertData(); 
  79.         stopwatch.start("隨機(jī)的long值key表任務(wù)開(kāi)始"); 
  80.         Long start = System.currentTimeMillis(); 
  81.         if (CollectionUtil.isNotEmpty(insertData)) { 
  82.             boolean insertResult = jdbcTemplateService.insert(insertSql3, insertData3, true); 
  83.             System.out.println(insertResult); 
  84.         } 
  85.         Long end = System.currentTimeMillis(); 
  86.         System.out.println("隨機(jī)key任務(wù)消耗時(shí)間:" + (end - start)); 
  87.         stopwatch.stop(); 
  88.  
  89.  
  90.         String result = stopwatch.prettyPrint(); 
  91.         System.out.println(result); 
  92.     } 

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

user_key_auto 寫入結(jié)果:

 

user_random_key 寫入結(jié)果:

 

user_uuid 表寫入結(jié)果:

 

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

 

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

 

可以看出在數(shù)據(jù)量 100W 左右的時(shí)候,uuid 的插入效率墊底,并且在后序增加了 130W 的數(shù)據(jù),uuid 的時(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ì)比

使用自增 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)生。

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

 

因?yàn)?uuid 相對(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)插入新行。

使用自增 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í)。

作者:Yrion

編輯:陶家龍

出處:cnblogs.com/wyq178/p/12548864.html

 

責(zé)任編輯:武曉燕 來(lái)源: 博客園
相關(guān)推薦

2025-08-27 02:00:00

2025-07-03 02:15:00

MySQLID+UUIDB+樹(shù)

2018-06-04 15:17:10

編程語(yǔ)言中文編程

2023-08-28 12:07:06

UUIDMySQL

2020-08-31 11:20:53

MySQLuuidid

2010-10-15 10:52:04

跳槽

2024-10-24 09:22:30

2010-10-11 11:25:26

MySQL主鍵

2022-11-14 08:12:34

2011-05-06 15:56:38

打印機(jī)故障

2016-10-20 08:57:17

網(wǎng)頁(yè)ChromeIE

2023-06-07 08:00:00

MySQL批量插入

2015-04-02 11:25:39

2023-09-14 13:23:42

Llama-2模型參數(shù)

2021-05-20 10:11:51

固態(tài)硬盤碎片系統(tǒng)

2010-10-11 11:46:20

MySQL主鍵

2010-10-08 11:52:29

2022-08-03 08:10:43

零信任網(wǎng)絡(luò)安全防御體系

2012-11-12 10:15:48

ATM安全安全認(rèn)證手勢(shì)技術(shù)

2025-07-28 01:22:00

點(diǎn)贊
收藏

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

秋霞午夜在线观看| 日韩黄色三级视频| 男女啪啪999亚洲精品| 中文字幕日韩精品一区| 成人欧美一区二区三区黑人免费| 日韩三级免费看| 欧洲grand老妇人| 日韩欧美中文字幕精品| 日日橹狠狠爱欧美超碰| 日本成a人片在线观看| 成人在线视频一区二区| 国产精品91免费在线| www.av视频| 国产最新精品| 亚洲变态欧美另类捆绑| 冲田杏梨av在线| 欧美亚洲系列| 中文一区二区在线观看| 国产98在线|日韩| 做爰无遮挡三级| 亚洲欧洲午夜| 久久97精品久久久久久久不卡| 日本黄色网址大全| jizz国产精品| 欧美精品123区| 一本久道中文无码字幕av| 美洲精品一卡2卡三卡4卡四卡| 亚洲国产精品av| 精品一区二区三区自拍图片区| 91丨porny丨在线中文| 玖玖国产精品视频| 97精品一区二区视频在线观看| 性欧美疯狂猛交69hd| 国产探花一区| 亚洲精品少妇网址| 亚洲av人人澡人人爽人人夜夜| 一区二区三区无毛| 欧美视频完全免费看| 欧美 国产 日本| 欧美私密网站| 激情懂色av一区av二区av| 中文字幕乱码一区二区三区| 毛片免费在线播放| www.在线欧美| 国产精品入口免费| 亚洲精品国产手机| 国产精品一区二区男女羞羞无遮挡| 国产中文日韩欧美| 亚洲香蕉在线视频| 美女免费视频一区二区| 国产精品伦子伦免费视频| 日韩中文字幕高清| 日本怡春院一区二区| 国产不卡一区二区在线播放| 四虎精品永久在线| 午夜宅男久久久| 国产69精品久久久久久| 亚洲精品1区2区3区| 亚洲免费观看| 欧洲亚洲女同hd| 欧美日韩一二三四区| 国产精品日韩久久久| 欧美孕妇与黑人孕交| 国产91精品一区| 久久国产精品99国产| 国产成人综合精品在线| 一区二区视频免费观看| 久久精品二区亚洲w码| 成人免费高清完整版在线观看| 国产又粗又猛又黄又爽| 国产精品一二三| 国产精品一区二区三区四区五区| 欧美一级淫片aaaaaa| 不卡视频免费播放| 欧美精品与人动性物交免费看| 国产在线资源| 亚洲人精品一区| 国产乱子伦精品视频| 国产网站在线| 欧美综合在线视频| 中文字幕第一页在线视频| 视频欧美一区| 日韩激情在线视频| 欧美色图17p| 欧美xxx在线观看| 777777777亚洲妇女| 波多野结衣小视频| 国产麻豆精品95视频| 国产日韩精品推荐| 成人精品一区二区三区免费| 一区二区三区在线观看欧美| 日韩a在线播放| 99视频有精品高清视频| 精品精品国产高清a毛片牛牛 | 久久精品理论片| 亚洲精品日韩激情在线电影| 五月激情婷婷网| 国产精品麻豆视频| 青青青青草视频| 欧美成人黄色| 日韩电影在线观看永久视频免费网站| 手机看片福利视频| 欧美亚韩一区| 国产日韩中文字幕| 日本高清视频在线| 国产精品久久久一本精品| www.av蜜桃| 欧洲精品久久久久毛片完整版| 亚洲国产成人精品久久久国产成人一区 | 欧美一级夜夜爽| 中文字幕在线观看网址| 91精品综合久久久久久久久久久| 国内免费久久久久久久久久久 | 欧美aaaaa成人免费观看视频| 91超碰在线免费观看| 猫咪在线永久网站| 亚洲成人av一区二区三区| wwww.国产| 欧美变态网站| 欧美韩国理论所午夜片917电影| 狠狠狠狠狠狠狠| 成人免费高清在线| 午夜在线视频免费观看| 最新欧美电影| 日韩电影免费观看中文字幕| 日本青青草视频| 蜜臀精品一区二区三区在线观看 | 国产69久久精品成人看| 亚洲av无码乱码国产精品久久| 亚洲国产岛国毛片在线| 欧美性大战久久久久xxx| eeuss鲁片一区二区三区| 久热精品视频在线免费观看| 欧美一级做a爰片免费视频| av亚洲精华国产精华精| 日韩精品手机在线观看| 午夜精品久久久久久毛片| 国产一区二区久久精品| 国产91精品一区| 91亚洲永久精品| www精品久久| 日韩一区二区三区精品| www.色综合| 中文字幕视频一区二区| 国产欧美精品在线观看| 欧美高清www午色夜在线视频| 成人亚洲精品777777大片| 伊甸园亚洲一区| 欧美在线亚洲一区| 性xxxx视频| 大桥未久av一区二区三区| 欧美性生交xxxxx| 伊人久久成人| 国产精品国产一区二区| 国产在线xxx| 亚洲成avwww人| 日韩黄色精品视频| 91论坛在线播放| 日本三区在线观看| 精品国产乱码久久久久久蜜坠欲下 | 777色狠狠一区二区三区| eeuss中文字幕| 另类调教123区| 在线观看免费91| 精品精品视频| 久久久视频在线| 日韩在线免费播放| 在线观看欧美黄色| 日韩精品电影一区二区三区| 另类小说一区二区三区| 欧洲金发美女大战黑人| 超碰97久久| 欧美亚洲在线播放| 成全电影播放在线观看国语| 欧美日韩aaaaaa| 欧美成人精品欧美一级| 成人av网站在线| 四虎永久在线精品无码视频| 青青草原综合久久大伊人精品| 成人av色在线观看| 国产精品国精产品一二| 亚洲美女激情视频| 在线观看视频二区| 亚洲一区二区成人在线观看| 菠萝菠萝蜜网站| 蜜乳av一区二区| 少妇大叫太大太粗太爽了a片小说| 精品久久97| 国产精品久久久精品| www免费在线观看| 日韩精品欧美激情| 一区二区日韩在线观看| 亚洲成av人片在线观看| 无码人妻丰满熟妇啪啪欧美| 国产激情视频一区二区三区欧美| 99视频在线免费播放| 色婷婷热久久| 国产精品久久精品视| 精品免费av一区二区三区| 欧美成人剧情片在线观看| 天天干天天草天天射| 欧美人与性动xxxx| 国产成人精品a视频一区| 国产精品嫩草99a| 欧美大喷水吹潮合集在线观看| 日本美女一区二区三区视频| 毛片av在线播放| 大片网站久久| 精品蜜桃传媒| 日本免费一区二区三区视频| 国产成人精品午夜| 精精国产xxxx视频在线中文版 | 女人黄色一级片| 粉嫩13p一区二区三区| 国内自拍视频网| 日韩午夜一区| 成人在线免费观看网址| 欧美日韩精品一区二区视频| 精品日韩欧美| 一区二区三区亚洲变态调教大结局| 国产精品美女午夜av| 国产污视频在线播放| 欧美激情欧美激情| 黄色成人在线观看| 在线观看日韩www视频免费| 艳母动漫在线看| 亚洲精品在线观| 国产三级视频在线播放| 欧美日韩情趣电影| 黄色av网站免费| 精品人伦一区二区三区蜜桃免费| 欧美三级日本三级| 亚洲日本韩国一区| 情侣偷拍对白清晰饥渴难耐| 中文字幕精品在线不卡| 久久精品国产亚洲av久| 92国产精品观看| 午夜不卡久久精品无码免费| 国产v综合v亚洲欧| 91丝袜超薄交口足| 激情综合五月婷婷| 在线观看免费av网址| 蜜桃av一区二区在线观看| 9久久婷婷国产综合精品性色 | 日批视频免费播放| 精品免费视频一区二区| 亚洲国产精品国自产拍久久| 日韩午夜电影在线观看| 国产男男gay体育生白袜| 欧美精品乱码久久久久久| 久久这里只有精品9| 欧美亚男人的天堂| 中文字幕在线播放av| 欧美三级三级三级| 自拍偷拍色综合| 欧美美女喷水视频| 97成人免费视频| 91精品国产一区二区| 精品人妻无码一区二区色欲产成人| 91精品国产综合久久香蕉麻豆| 国产乱淫片视频| 欧美mv日韩mv亚洲| 熟妇人妻一区二区三区四区| 日韩国产精品一区| 国产日本在线| 日韩中文在线不卡| 91麻豆国产福利在线观看宅福利| 欧美乱大交xxxxx另类电影| 欧美aaaxxxx做受视频| 国内精品久久久久| 欧美黑人粗大| 国产精品一区专区欧美日韩| 国产一区二区av在线| 国产精品12| 天海翼亚洲一区二区三区| 日韩亚洲不卡在线| 国产精品久久天天影视| 欧美一级欧美一级| 日本伊人精品一区二区三区观看方式 | 国产日本一区二区三区| 久久99国产精品视频| 亚洲欧洲精品一区二区| 在线中文字幕亚洲| 日本xxxxxxxxxx75| 日本成人中文字幕在线视频| 亚洲欧美日韩综合网| 成人在线综合网| 欧美老熟妇乱大交xxxxx| 成人欧美一区二区三区1314 | 在线观看91视频| 99热这里只有精品99| 亚洲精品短视频| 91九色在线porn| 欧美黑人国产人伦爽爽爽| 亚洲精品动漫| 亚洲最大成人网色| 免费看日本一区二区| 超碰10000| 日本麻豆一区二区三区视频| 韩国三级hd两男一女| 国产精品入口麻豆九色| 国产精品第九页| 精品1区2区3区| 婷婷在线观看视频| 久久精品电影网| 一级毛片久久久| 99久久一区三区四区免费| 久久99国内| 男人天堂a在线| 精品夜夜嗨av一区二区三区| 三级黄色片网站| 一区二区高清免费观看影视大全| 欧美三级网站在线观看| 亚洲第一视频网站| 免费在线观看黄| 国产精品男人爽免费视频1| 国产精伦一区二区三区| 在线综合视频网站| 丝袜亚洲另类欧美| 亚洲一区和二区| 国产精品对白交换视频| 99精品人妻国产毛片| 欧美一区二区三区免费大片| www 日韩| 日韩av日韩在线观看| 久久久久观看| avav在线播放| 国产二区国产一区在线观看| jizzjizzjizz国产| 欧美亚洲高清一区| 国产小视频在线| 57pao精品| 亚洲影院天堂中文av色| 91动漫在线看| 国产成人8x视频一区二区| 无码人妻精品中文字幕| 91久久国产最好的精华液| 青青久草在线| 欧美专区在线观看| 欧美挤奶吃奶水xxxxx| 日韩一级片免费视频| 成人免费视频播放| 国产主播在线观看| 日韩一卡二卡三卡国产欧美| 黄色大片在线播放| 亚洲a中文字幕| 一区二区电影| 在线视频观看一区二区| 中文字幕一区二区三区四区不卡 | 欧美不卡在线一区二区三区| 亚洲福利久久| 亚洲观看黄色网| 欧美日韩视频在线| 免费在线视频一级不卡| 国产91九色视频| 日韩大片在线观看| 免费一区二区三区在线观看| 中文字幕日本不卡| 国产情侣一区二区| 欧美极品xxxx| 日韩欧美美女在线观看| 哪个网站能看毛片| 国产精品无人区| 99久久久无码国产精品免费| 欧美日本亚洲视频| 欧美激情极品| 黄色一级免费大片| 国产精品国产三级国产a | 老汉av免费一区二区三区| 午夜成人亚洲理伦片在线观看| 日韩亚洲欧美高清| 国产传媒av在线| 日韩国产欧美精品| 国产自产高清不卡| 日韩无码精品一区二区三区| 亚洲美女视频网| 24小时成人在线视频| 亚洲熟妇无码av在线播放| 91丨porny丨中文| 亚洲中文一区二区三区| 欧美福利视频在线观看| 亚洲国产最新| 欧美视频亚洲图片| 性欧美大战久久久久久久久| 国产精品视频二区三区| 亚洲一区精品电影| 亚洲一区网站| 中文字幕无码日韩专区免费 | 久久免费看视频| 91系列在线播放| 国产精品毛片在线| 亚洲 欧美 国产 另类| 亚洲国产精品999| 国产美女久久| 少妇人妻大乳在线视频| 国产精品人成在线观看免费 | 国产电影一区| 国产日产欧美视频| 亚洲精品ww久久久久久p站| 日本不卡视频一区二区|