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

如何半天搞定數(shù)據(jù)庫遷移10億級數(shù)據(jù)

數(shù)據(jù)庫 SQL Server
無水平或者垂直切分,但是采用了分區(qū)表。分區(qū)表策略是按時(shí)間降序分的區(qū),將近30個(gè)分區(qū)。正因?yàn)榉謪^(qū)表的原因,系統(tǒng)才保證了在性能不是太差的情況下堅(jiān)持至今。

[[258747]]

一、問題分析

經(jīng)過幾分鐘的排查,數(shù)據(jù)庫情況如下:

數(shù)據(jù)庫采用SQLserver 2008 R2,單表數(shù)據(jù)量21億

無水平或者垂直切分,但是采用了分區(qū)表。分區(qū)表策略是按時(shí)間降序分的區(qū),將近30個(gè)分區(qū)。正因?yàn)榉謪^(qū)表的原因,系統(tǒng)才保證了在性能不是太差的情況下堅(jiān)持至今。

此表除聚集索引之外,無其他索引,無主鍵(主鍵其實(shí)是利用索引來快速查重的)。所以在頻繁插入新數(shù)據(jù)的情況下,索引調(diào)整所耗費(fèi)的性能比較低。

至于聚集索引和非聚集索引等知識(shí),請各位移步google或者百度。

至于業(yè)務(wù),不是太復(fù)雜。經(jīng)過相關(guān)人員咨詢,大約40%的請求為單條Insert,大約60%的請求為按class_id 和in_time(倒序)分頁獲取數(shù)據(jù)。Select請求全部命中聚集索引,所以性能非常高。這也是聚集索引這樣設(shè)計(jì)的目的。

二、解決問題

由于單表數(shù)據(jù)量已經(jīng)超過21億,并且2017年以前的數(shù)據(jù)幾乎不影響業(yè)務(wù),所以決定把2017年以前(不包括2017年)的數(shù)據(jù)遷移到新表,僅供以后特殊業(yè)務(wù)查詢使用。經(jīng)過查詢大約有9億數(shù)據(jù)量。

數(shù)據(jù)遷移工作包括三個(gè)個(gè)步驟:

  • 從源數(shù)據(jù)表查詢出要遷移的數(shù)據(jù)
  • 把數(shù)據(jù)插入新表
  • 把舊表的數(shù)據(jù)刪除

1、傳統(tǒng)做法

這里申明一點(diǎn),就算是傳統(tǒng)的做法也需要分頁獲取源數(shù)據(jù),因?yàn)槟愕膬?nèi)存一次性裝載不下9億條數(shù)據(jù)。

1)從源數(shù)據(jù)表分頁獲取數(shù)據(jù),具體分頁條數(shù),太少則查詢原表太頻繁,太多則查詢太慢。

SQL語句類似于:

  1. SELECT * FROM ( 
  2. SELECT *,ROW_NUMBER() OVER(ORDER BY class_id,in_time) p FROM  tablexx WHERE in_time <'2017.1.1'   
  3. ) t WHERE t.p BETWEEN 1 AND 100 

2)把查詢出來的數(shù)據(jù)插入目標(biāo)數(shù)據(jù)表,這里強(qiáng)調(diào)一點(diǎn),一定不要用單條插入策略,必須用批量插入。

3)把數(shù)據(jù)刪除,其實(shí)這里刪除還是有一個(gè)小難點(diǎn),表沒有標(biāo)示列。這里不展開,因?yàn)檫@不是本文要說的重點(diǎn)。

如果你的數(shù)據(jù)量不大,以上方法完全沒有問題,但是在9億這個(gè)數(shù)字前面,以上方法顯得心有余而力不足。一個(gè)字:慢,太慢,非常慢。

可以大體算一下,假如每秒可以遷移1000條數(shù)據(jù),大約需要的時(shí)間為(單位:分):

  1. 900000000/1000/60=15000(分鐘) 

大約需要10天^ V ^

2、改進(jìn)做法

以上的傳統(tǒng)做法弊端在哪里呢?

  • 在9億數(shù)據(jù)前查詢必須命中索引,就算是非聚集索引我也不推薦,首推聚集索引。
  • 如果你了解索引的原理,你應(yīng)該明白,不停的插入新數(shù)據(jù)的時(shí)候,索引在不停的更新,調(diào)整,以保持樹的平衡等特性。尤其是聚集索引影響甚大,因?yàn)檫€需要移動(dòng)實(shí)際的數(shù)據(jù)。

提取以上兩點(diǎn)共同的要素,那就是聚集索引。相應(yīng)的解決方案也就應(yīng)運(yùn)而生:

  • 按照聚集索分頁引查詢數(shù)據(jù);
  • 批量插入數(shù)據(jù)迎合聚集索引,即:按照聚集索引的順序批量插入;
  • 按照聚集索引順序批量刪除;

由于做了表分區(qū),如果有一種方式把2017年以前的分區(qū)直接在磁盤物理層面從當(dāng)前表剝離,然后掛載到另外一個(gè)表,可算是神級操作。有誰能指導(dǎo)一下,不勝感激~

三、擴(kuò)展閱讀

一個(gè)表的聚集索引的順序就是實(shí)際數(shù)據(jù)文件的順序,映射到磁盤上,本質(zhì)上位于同一個(gè)磁道上,所以操作的時(shí)候磁盤的磁頭不必跳躍著去操作。

存儲(chǔ)在硬盤中的每個(gè)文件都可分為兩部分:文件頭和存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)區(qū)。文件頭用來記錄文件名、文件屬性、占用簇號(hào)等信息,文件頭保存在一個(gè)簇并映射在FAT表(文件分配表)中。

而真實(shí)的數(shù)據(jù)則是保存在數(shù)據(jù)區(qū)當(dāng)中的。

平常所做的刪除,其實(shí)是修改文件頭的前2個(gè)代碼,這種修改映射在FAT表中,就為文件作了刪除標(biāo)記,并將文件所占簇號(hào)在FAT表中的登記項(xiàng)清零,表示釋放空間,這也就是平常刪除文件后,硬盤空間增大的原因。

而真正的文件內(nèi)容仍保存在數(shù)據(jù)區(qū)中,并未得以刪除。要等到以后的數(shù)據(jù)寫入,把此數(shù)據(jù)區(qū)覆蓋掉,這樣才算是徹底把原來的數(shù)據(jù)刪除。如果不被后來保存的數(shù)據(jù)覆蓋,它就不會(huì)從磁盤上抹掉。

四、實(shí)際運(yùn)行代碼

第一步:由于聚集索引需要class_id,所以寧可花2-4秒時(shí)間把要操作的class_id查詢出來(ORM為dapper),并且升序排列:

  1. DateTime dtMax = DateTime.Parse("2017.1.1"); 
  2.  var allClassId = DBProxy.GeSourcetLstClassId(dtMax)?.OrderBy(s=>s); 

按照第一步class_id列表順序查詢數(shù)據(jù),每個(gè)class_id分頁獲取,然后插入目標(biāo)表,全部完成然后刪除源表相應(yīng)class_id的數(shù)據(jù)。

  1. int pageIndex = 1; //頁碼 
  2.            int pageCount = 20000;//每頁的數(shù)據(jù)條數(shù) 
  3.            DataTable tempData =null
  4.            int successCount = 0; 
  5.            foreach (var classId in allClassId) 
  6.            { 
  7.                tempData = null
  8.                pageIndex = 1; 
  9.                while (true
  10.                { 
  11.                    int startIndex = (pageIndex - 1) * pageCount+1; 
  12.                    int endIndex = pageIndex * pageCount; 
  13.                    tempData = DBProxy.GetSourceDataByClassIdTable(dtMax, classId, startIndex, endIndex); 
  14.                    if (tempData == null || tempData.Rows.Count==0) 
  15.                    { 
  16.                        //末尾一頁無數(shù)據(jù)了,刪除源數(shù)據(jù)源數(shù)據(jù)然后跳出 
  17.                         DBProxy.DeleteSourceClassData(dtMax, classId); 
  18.                        break; 
  19.                    } 
  20.                    else 
  21.                    { 
  22.                        DBProxy.AddTargetData(tempData); 
  23.                    } 
  24.                    pageIndex++; 
  25.                } 
  26.                successCount++; 
  27.                Console.WriteLine($"班級:{classId} 完成,已經(jīng)完成:{successCount}個(gè)"); 
  28.            } 

DBProxy完整代碼:

  1. class DBProxy 
  2.     { 
  3.         //獲取要遷移的數(shù)據(jù)所有班級id 
  4.         public static IEnumerable<int> GeSourcetLstClassId(DateTime dtMax) 
  5.         { 
  6.             var connection = Config.GetConnection(Config.SourceDBStr); 
  7.             string Sql = @"SELECT class_id FROM  tablexx WHERE in_time <@dtMax GROUP BY class_id "
  8.             using (connection
  9.             { 
  10.                 return connection.Query<int>(Sql, new { dtMax = dtMax }, commandType: System.Data.CommandType.Text); 
  11.             } 
  12.         } 
  13.         public static DataTable GetSourceDataByClassIdTable(DateTime dtMax, int classId, int startIndex, int endIndex) 
  14.         { 
  15.             var connection = Config.GetConnection(Config.SourceDBStr); 
  16.             string Sql = @" SELECT * FROM ( 
  17.                         SELECT *,ROW_NUMBER() OVER(ORDER BY in_time desc) p FROM  tablexx WHERE in_time <@dtMax  AND class_id=@classId 
  18.                         ) t WHERE t.p BETWEEN @startIndex AND @endIndex "; 
  19.             using (connection
  20.             { 
  21.                 DataTable table = new DataTable("MyTable"); 
  22.                 var reader = connection.ExecuteReader(Sql, new { dtMax = dtMax, classId = classId, startIndex = startIndex, endIndex = endIndex }, commandType: System.Data.CommandType.Text); 
  23.                 table.Load(reader); 
  24.                 reader.Dispose(); 
  25.                 return table
  26.             } 
  27.         } 
  28.          public static int DeleteSourceClassData(DateTime dtMax, int classId) 
  29.         { 
  30.             var connection = Config.GetConnection(Config.SourceDBStr); 
  31.             string Sql = @" delete from  tablexx WHERE in_time <@dtMax  AND class_id=@classId "
  32.             using (connection
  33.             { 
  34.                 return connection.Execute(Sql, new { dtMax = dtMax, classId = classId }, commandType: System.Data.CommandType.Text); 
  35.             } 
  36.         } 
  37.         //SqlBulkCopy 批量添加數(shù)據(jù) 
  38.         public static int AddTargetData(DataTable data) 
  39.         { 
  40.             var connection = Config.GetConnection(Config.TargetDBStr); 
  41.             using (var sbc = new SqlBulkCopy(connection)) 
  42.             { 
  43.                 sbc.DestinationTableName = "tablexx_2017";                
  44.                 sbc.ColumnMappings.Add("class_id""class_id"); 
  45.                 sbc.ColumnMappings.Add("in_time""in_time"); 
  46.                 . 
  47.                 . 
  48.                 . 
  49.                 using (connection
  50.                 { 
  51.                     connection.Open(); 
  52.                     sbc.WriteToServer(data); 
  53.                 }                
  54.             } 
  55.             return 1; 
  56.         } 
  57.     } 

運(yùn)行報(bào)告:

程序本機(jī)運(yùn)行,開虛擬專用網(wǎng)絡(luò)連接遠(yuǎn)程DB服務(wù)器,運(yùn)行1分鐘,遷移的數(shù)據(jù)數(shù)據(jù)量為1915560,每秒約3萬條數(shù)據(jù)。

1915560 / 60=31926 條/秒

CPU情況(不高):

磁盤隊(duì)列情況(不高):

五、寫在后面

在以下情況下速度還將提高:

  • 源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫硬盤為ssd,并且分別為不同的服務(wù)器;
  • 遷移程序和數(shù)據(jù)庫在同一個(gè)局域網(wǎng),保障數(shù)據(jù)傳輸時(shí)候帶寬不會(huì)成為瓶頸;
  • 合理的設(shè)置SqlBulkCopy參數(shù);
  • 我們的場景大多數(shù)場景下每次批量插入的數(shù)據(jù)量達(dá)不到設(shè)置的值,因?yàn)橛械腸lass_id 對應(yīng)的數(shù)據(jù)量就幾十條,甚至幾條而已,打開關(guān)閉數(shù)據(jù)庫連接也是需要耗時(shí)的;
  • 單純的批量添加或者批量刪除操作。

 

責(zé)任編輯:武曉燕 來源: 互聯(lián)網(wǎng)修煉之道
相關(guān)推薦

2024-08-22 14:16:08

2025-02-21 08:20:33

2019-06-05 14:30:21

MySQL數(shù)據(jù)庫索引

2019-05-27 09:56:00

數(shù)據(jù)庫高可用架構(gòu)

2019-05-28 09:31:05

Elasticsear億級數(shù)據(jù)ES

2021-02-05 10:58:28

數(shù)據(jù)存儲(chǔ)架構(gòu)

2023-12-01 15:50:46

2019-09-19 16:29:41

云數(shù)據(jù)庫遷移DBaaS數(shù)據(jù)庫

2021-06-29 08:12:22

MySQL數(shù)據(jù)分頁數(shù)據(jù)庫

2011-03-03 10:32:07

Mongodb億級數(shù)據(jù)量

2009-03-19 09:50:25

遷移微軟Analysis Se

2023-10-09 08:37:39

2015-05-15 14:51:11

TB 級數(shù)據(jù)云備份

2024-07-17 08:29:20

2021-04-07 13:43:07

PythonDash數(shù)據(jù)庫

2023-11-13 08:16:08

MySQL數(shù)據(jù)數(shù)據(jù)庫

2019-07-09 08:23:07

數(shù)據(jù)安全旅游網(wǎng)絡(luò)安全

2018-12-14 09:32:06

億級數(shù)據(jù)存在

2018-12-14 09:16:31

裝載數(shù)據(jù)數(shù)組

2022-09-25 22:09:09

大數(shù)據(jù)量技術(shù)HDFS客戶端
點(diǎn)贊
收藏

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

欧美性xxx| 天天摸夜夜添狠狠添婷婷| 久久久人成影片免费观看| 日韩精品一区二区三区中文不卡 | 午夜久久99| 日韩精品在线免费观看视频| 久热精品在线观看视频| 成人在线高清免费| 中文字幕乱码日本亚洲一区二区| 亚洲综合日韩在线| 国产91国语对白在线| 国产精品99一区二区| 在线电影中文日韩| www.com日本| 亚洲欧美一级| 色悠悠久久综合| 亚洲精品蜜桃久久久久久| 95在线视频| 99精品国产热久久91蜜凸| 91美女高潮出水| 免费黄色小视频在线观看| 欧美日韩一区二区高清| 一区二区三区回区在观看免费视频| 性高潮久久久久久| 黄色成人在线观看网站| 精品久久久久久久中文字幕 | 亚久久调教视频| 久久影院模特热| 一级肉体全黄裸片| 天天久久夜夜| 亚洲第一区第二区| 手机av在线网站| 久久久精品一区二区毛片免费看| 色综合咪咪久久| 蜜臀av无码一区二区三区| jizz性欧美10| 中文字幕欧美一| 亚洲狠狠婷婷综合久久久| 九色视频在线播放| 97国产一区二区| 国产精品一区二区欧美黑人喷潮水 | 在线精品视频免费播放| 免费无码国产v片在线观看| а√天堂8资源在线| 亚洲国产欧美在线人成| 久久久久久久9| 国产一线二线在线观看| 亚洲国产综合人成综合网站| 国产毛片久久久久久国产毛片| bt在线麻豆视频| 亚洲美女偷拍久久| 日韩一级特黄毛片| av观看在线| 一区二区激情小说| 男人天堂新网址| 神马午夜伦理不卡| 亚洲一区中文日韩| 国产午夜大地久久| 乡村艳史在线观看| 日韩欧美在线第一页| 欧美综合在线观看视频| h1515四虎成人| 欧美日韩精品系列| 91视频福利网| 99ri日韩精品视频| 日韩av在线高清| 中文字幕免费视频| 日韩激情一区| 欧美老妇交乱视频| 国产第一页在线播放| 亚洲专区在线| 国产日韩欧美中文| 亚洲第一大网站| 99久久精品国产导航| 欧美男人的天堂| 1769在线观看| 一区二区三区成人| a级免费在线观看| 一区二区电影免费观看| 精品视频在线免费看| 中文字幕无码毛片免费看| 国产精品乱战久久久| 一本色道久久综合狠狠躁篇的优点 | 一级特黄色大片| 国产精品系列在线观看| 精品国产区在线| 色综合久久久久综合一本到桃花网| 一区二区视频在线| 国产日韩一区二区在线观看| 亚洲伦理一区二区| 亚洲国产成人精品久久| 中文字幕av久久爽一区| 精品动漫av| 国产精品毛片a∨一区二区三区|国| 97国产精品久久久| 91视频com| 黄色一级视频播放| 色尼玛亚洲综合影院| 91麻豆精品国产91| 香蕉网在线播放| 在线免费观看日本欧美爱情大片| 69av成年福利视频| 国产视频在线一区| 国产三级精品视频| 成年女人18级毛片毛片免费| 精品久久久网| 国产偷国产偷亚洲清高网站| 免费国产羞羞网站美图| 日本sm残虐另类| 国外成人免费视频| av网站在线免费| 在线观看免费成人| 在线天堂www在线国语对白| 久久网站免费观看| 日本一区二区三区四区视频| 成人免费观看在线视频| 国产精品网站一区| 欧美污视频网站| 久久精品国产亚洲blacked| 久久韩剧网电视剧| 日批视频免费观看| 久久综合久久综合久久| 成人免费播放器| 香蕉成人app| zzjj国产精品一区二区| 91porny九色| 久久蜜桃香蕉精品一区二区三区| 性一交一乱一伧国产女士spa| 亚洲国产aⅴ精品一区二区三区| 亚洲人成网在线播放| 亚洲免费激情视频| 成人国产精品视频| a天堂资源在线观看| 综合久久av| 日韩在线小视频| 怡红院男人天堂| 国产欧美日韩中文久久| 亚洲一二三区av| 国产尤物久久久| 热久久99这里有精品| 香港一级纯黄大片| 欧美日韩亚洲91| 欧美 变态 另类 人妖| 亚洲精品四区| 国内视频一区| 超碰一区二区| 亚洲色图50p| 无码人妻精品一区二区50| 久久午夜免费电影| 男女视频一区二区三区| 欧洲杯什么时候开赛| 国产精品欧美一区二区三区奶水| 成人在线免费视频| 欧美日韩精品一区二区在线播放| 欧美色图17p| 久久超碰97中文字幕| 欧美精品久久96人妻无码| 视频精品国内| 91精品国产高清自在线看超| 日韩毛片在线一区二区毛片| 欧美在线一区二区| 在线日韩国产网站| 国产成人免费在线| www.99热这里只有精品| 男男gay无套免费视频欧美| 国产精品2018| 国产在线高清视频| 亚洲精品一区二区三区四区高清| 欧美一级片免费在线观看| 国产亚洲综合色| 91 在线视频观看| 欧美福利电影在线观看| 蜜桃av噜噜一区二区三区| 国产精品久久久久久久久久齐齐 | av电影院在线看| 亚洲精品中文字幕有码专区| 中文字幕1区2区3区| 亚洲美女视频在线| 欧洲一级黄色片| 蜜臀a∨国产成人精品| 无码毛片aaa在线| 久久中文资源| 国产有码一区二区| 成人女同在线观看| 国产亚洲精品91在线| 精品国产亚洲一区二区麻豆| 色综合久久天天| 国产精品久久久久久久精| 99国产精品久久久久久久久久| 在线观看免费污视频| 影音先锋久久| 亚洲视频在线观看日本a| 99精品国产一区二区三区2021| 日本亚洲欧洲色α| 黄色成人在线网| 精品精品国产国产自在线| 色视频在线观看| 日韩一区二区免费高清| 在线免费观看av网址| 亚洲综合视频网| 2017亚洲天堂| 久久综合国产精品| 一区二区在线免费观看视频| 蜜臀久久99精品久久久久宅男| 热99这里只有精品| 亚洲精品电影| 日韩资源av在线| 乱中年女人伦av一区二区| 成人在线视频网| 日韩毛片免费观看| 久久久免费观看视频| www.久久久久.com| 中文字幕视频在线免费欧美日韩综合在线看 | 韩国精品美女www爽爽爽视频| 在线观看免费网站黄| 亚洲人成电影网站| 亚洲国产精品欧美久久| 特黄视频在线观看| 国产激情在线视频| 日韩成人av在线播放| va视频在线观看| 欧美日韩和欧美的一区二区| 少妇高潮av久久久久久| 亚洲va天堂va国产va久| 国产av 一区二区三区| av第一福利在线导航| 日韩久久精品一区| ,亚洲人成毛片在线播放| 色呦呦国产精品| 国产美女激情视频| 亚洲福利视频一区| 久久久91视频| 亚洲美女淫视频| 国产成人综合在线视频| 综合久久久久久久| 精品视频第一页| 国产精品三级电影| 一级片黄色录像| 中文无字幕一区二区三区| 中文字幕在线观看免费高清 | 亚洲久久久久久久| 99re成人在线| 黄色性生活一级片| 99re8在线精品视频免费播放| 一区二区三区少妇| 91小视频免费观看| 中文字幕第4页| 国产三级精品三级在线专区| 99在线视频免费| 国产精品久久久久久妇女6080 | 亚洲高清免费一级二级三级| 久久久久成人片免费观看蜜芽| 亚洲欧美区自拍先锋| 青青草激情视频| 亚洲综合一二区| 亚洲精品视频在线观看免费视频| 婷婷久久综合九色国产成人| 天天干天天干天天干天天| 日韩欧美在线观看视频| 小泽玛利亚一区二区三区视频| 欧美色图第一页| 国产精品呻吟久久| 精品三级在线观看| 午夜av免费在线观看| 亚洲美女在线看| www.成人.com| 欧美丰满老妇厨房牲生活| 国产白丝在线观看| 国产成人精品一区二区| 欧美特黄色片| 国产98在线|日韩| 天堂俺去俺来也www久久婷婷| 日本一区二区三区视频在线播放 | 欧美精品在线观看| 爱啪视频在线观看视频免费| 国产97在线播放| 亚洲影视资源| 好吊色欧美一区二区三区视频| 久久av电影| 国产女人18毛片| 国产精品久久久久久久久久妞妞| 污污网站免费看| 国产成人一级电影| 性高潮久久久久久久| 综合久久综合久久| 国产又大又黄视频| 欧美精品视频www在线观看 | xvideos亚洲| av免费在线视| 成人黄色影片在线| 免费福利视频一区| 在线观看日韩羞羞视频| 亚洲精品孕妇| 91国内在线播放| 2024国产精品视频| 一区二区三区四区五区| 欧美性猛交xxxx乱大交| va婷婷在线免费观看| 国产一区二区三区毛片| 波多野结衣精品| 国产乱肥老妇国产一区二 | 亚洲人成77777| 亚洲黄色大片| 久久精品久久99| 国产日产欧美精品一区二区三区| 国产在线视频二区| 欧美亚洲国产怡红院影院| 风流老熟女一区二区三区| 日韩在线欧美在线国产在线| 美女高潮在线观看| 91嫩草在线| 久久国产亚洲| 中文字幕永久视频| 91麻豆蜜桃一区二区三区| 青青草原免费观看| 欧美精品1区2区| 国产无套粉嫩白浆在线2022年 | 成人亚洲免费| 蜜桃传媒视频第一区入口在线看| 欧美日韩18| 992tv人人草| 国产精品免费看片| 波多野结衣一二区| 亚洲人线精品午夜| 日本在线啊啊| 国产日产精品一区二区三区四区| 欧美精品导航| 国产乱女淫av麻豆国产| 国产日韩欧美一区二区三区综合| 日本午夜小视频| 精品国产一区二区三区久久久蜜月| 国产写真视频在线观看| 91精品久久久久久久久久入口| 日产午夜精品一线二线三线| 黄色a级片免费| 久久亚洲精品小早川怜子| 久久伊人成人网| 精品日本一线二线三线不卡| 欧美人与牲禽动交com| 91久久国产自产拍夜夜嗨| 91tv官网精品成人亚洲| 免费成年人高清视频| 中文字幕人成不卡一区| 国产精品视频无码| 久久成人18免费网站| www.久久久久爱免| 日本黄色播放器| 国产在线播放一区二区三区| 国产va在线播放| 日韩精品一区二区三区在线观看 | 性xxxxbbbb| 国产成人精品一区二区三区| 成人羞羞视频在线看网址| 奇米影视四色在线| 有码一区二区三区| 亚洲女同志亚洲女同女播放| 午夜精品久久久久久久久久久久| 精品视频自拍| 日本中文字幕高清| 国产精品家庭影院| a天堂视频在线| 久久久噜噜噜久久| 亚洲三级性片| 午夜剧场高清版免费观看| 亚洲激情欧美激情| 噜噜噜久久,亚洲精品国产品| 欧美一级免费视频| 红桃视频在线观看一区二区| 在线一区二区不卡| 亚洲成年人网站在线观看| 日本大臀精品| 成人欧美一区二区三区黑人孕妇| 激情视频一区| 91国模少妇一区二区三区| 欧美丰满少妇xxxbbb| 超免费在线视频| 欧美日韩在线精品一区二区三区| 老司机免费视频一区二区| 久草成人在线视频| 亚洲乱码国产乱码精品精| 国产成人精品一区二区三区免费| 欧美少妇一区二区三区| 26uuu国产在线精品一区二区| 亚洲无码精品国产| 高清欧美性猛交| 成人网18免费网站| 中文字幕永久免费| 色视频欧美一区二区三区| 国产视频在线播放| 久久资源av| 国产一区二区三区观看| 久久久黄色大片| 久久不射电影网| 国产欧美一区| 亚洲中文字幕无码一区| 欧美精品成人一区二区三区四区| 国产伦久视频在线观看| 国产精品一区在线免费观看| 久久久久久麻豆| 人人妻人人澡人人爽久久av |