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

光知道分庫分表可不敢直接去面試,分表后讀擴散怎么解決才是重點

數據庫
現在一談數據量大時,幾乎每個人都知道分庫分表,拆分策略也都能說出來個123,不過分庫分表后必然會大佬數據分散的問題,那怎么解決拆分后的讀擴散問題,也是需要我們提前想清楚的。最近讀到一篇關于解決讀擴散問題的文章,推薦給大家。

今天這篇文章,其實也是我曾經面試中遇到過的真題。

分庫分表大家可能聽得多了,但 讀擴散 問題大家了解嗎?

這里涉及到幾個問題。

分庫分表是什么?

讀擴散問題是什么?

分庫分表為什么會引發讀擴散問題?

怎么解決讀擴散問題?

這些問題還是比較有意思的。

相信兄弟們也一定有機會遇到哈哈哈。

我們先從分庫分表的話題聊起吧。

分庫分表

我們平時做項目開發。一開始,通常都先用一張數據表,而一般來說數據表寫到2kw條數據之后,底層B+樹的層級結構就可能會變高,不同層級的數據頁一般都放在磁盤里不同的地方,換言之,磁盤IO就會增多,帶來的便是查詢性能變差。 如果對上面這句話有疑惑的話,可以去看下我之前寫的文章。

于是,當我們單表需要管理的數據變得越來越多,就不得不考慮數據庫 分表 。而這里的分表,分為 水平分表和垂直分表 。

垂直分表的原理比較簡單,一般就是把某幾列拆成一個新表,這樣單行數據就會變小,B+樹里的單個數據頁(固定16kb)內能放入的行數就會變多,從而使單表能放入更多的數據。

垂直分表沒有太多可以說的點。下面,我們重點說說最常見的 水平分表 。

水平分表有好幾種做法,但不管是哪種,本質上都是將原來的 user 表,變成 user_0, user1, user2 .... uerN 這樣的N多張小表。

從讀寫一張user 大表 ,變成讀寫 user_1 … userN 這樣的N張 小表 。

分表

每一張小表里,只保存一部分數據,但具體保存多少,這個自己定,一般就訂個 500w~2kw 。

那分表具體怎么做?

根據id范圍分表

我認為最好用的,是根據id范圍進行分表。

我們假設每張分表能放 2kw 行數據。那user0就放主鍵id為 1~2kw 的數據。user1就放id為 2kw+1 ~ 4kw ,user2就放id為 4kw+1 ~ 6kw , userN就放 2N kw+1 ~ 2(N+1)kw 。

根據id范圍分表

假設現在有條數據,id=3kw,將這個 3kw除2kw = 1.5 ,向下取整得到 1 ,那就可以得到這條數據屬于 user1表 。于是去讀寫user1表就行了。這就完成了數據的路由邏輯,我們把這部分邏輯封裝起來,放在數據庫和業務代碼之間。

這樣。 對于業務代碼來說 ,它只知道自己在讀寫一張 user 表,根本不知道底下還分了那么多張小表。

對于數據庫來說,它并不知道自己被分表了,它只知道有那么幾張表,正好名字長得比較像而已。

這還只是在 一個數據庫 里做分表,如果范圍再搞大點,還能在 多個數據庫 里做分表,這就是所謂的 分庫分表 。

不管是單庫分表還是分庫分表,都可以通過這樣一個中間層邏輯做路由。

還真的就應了那句話,沒有什么是加中間層不能解決的。

如果有,就多加一層。

至于這個中間層的實現方式就更靈活了,它既可以像 第三方orm庫 那樣加在業務代碼中。

通過orm讀寫分表

也可以在mysql和業務代碼之間加個 proxy服務 。

如果是通過第三方orm庫的方式來做的話,那需要根據不同語言實現不同的代碼庫,所以不少廠都選擇后者加個proxy的方式,這樣就不需要關心上游服務用的是什么語言。

通過proxy管理分表

根據id取模分表

這時候就有兄弟要提出問題了,"我看很多方案都 對id取模 ,你這個方案是不是不完整?"。

取模的方案也是很常見的。

比如一個id=31進來,我們一共分了5張表,分別是user0到user4。對 31%5=1 ,取模得 1 ,于是就能知道應該讀寫 user1 表。

根據id取模分表

優點當然是比較簡單。而且讀寫數據都可以很均勻的分攤到每個分表上。

但 缺點 也比較明顯,如果想要擴展表的個數,比如從5張表變成8張表。那同樣還是id=31的數據, 31%8 = 7 ,就需要讀寫user7這張表。跟原來就對不上了。

這就需要考慮 數據遷移 的問題。很頭禿。

為了避免后續擴展的問題,我見過一些業務一開始就將數據預估得很大,然后心一橫,分成100張表,一張表如果存個2kw條,那也能存20億數據了。

也不是說這樣不行吧,就是這個業務直到最后放棄的時候,也就存了百萬條數據,每次打開數據庫表能看到茫茫多的user_xx,就是不太舒服,專業點,叫增加了程序員的 心智負擔 。

而上面一種方式,根據id范圍去分表,就能很好的解決這些問題,數據少的時候,表也少,隨著數據增多,表會慢慢變多。而且這樣表還可以無限擴展。

那是不是說取模的做法就用不上了呢?

也不是。

將上面兩種方式結合起來

id取模的做法,最大的好處是,新寫入的數據都是實實在在的分散到了 多張表 上。

而根據id范圍去做分表,因為id是遞增的,那新寫入的數據一般都會落到 某一張表 上,如果你的業務場景寫數據特別頻繁,那這張表就會出現 寫熱點 的問題。

這時候就可以將id取模和id范圍分表的方式結合起來。

我們可以在某個id范圍里,引入取模的功能。比如 以前 2kw~4kw 是user1表,現在可以在這個范圍 再分成5個表 ,也就是引入user1-0, user1-2到user1-4,在這5個表里取模。

舉個例子,id=3kw,根據范圍,會分到user1表,然后再進行取模 3kw % 5 = 0,也就是讀寫user1-0表。

這樣就可以將寫單表分攤為寫多表。

這在分庫的場景下優勢會更明顯,不同的庫,可以把服務部署到不同的機器上,這樣各個機器的性能都能被用起來。

根據id范圍分表后再取模

讀擴散問題

我們上面提到的好幾種分表方式,都用了id這一列作為 分表的依據 ,這其實就是所謂的 分片鍵 。

實際上我們一般也是用的 數據庫主鍵 作為 分片鍵 。

這樣,理想情況下我們已知一個id,不管是根據哪種規則,我們都能很快定位到該讀哪個分表。

但很多情況下,我們的查詢又不是只查主鍵,如果我的數據庫表有一列name,并且加了個普通索引。

這樣我執行下面的sql

select * from user where name = "小白";

由于name并不是分片鍵,我們沒法定位到具體要到哪個分表上去執行sql。

于是就會對 所有分表 都執行上面的sql,當然不會是串行執行sql,一般都是 并發 執行sql的。

如果我有100張表,就執行100次sql。

如果我有200張表,就執行200次sql。

隨著我的表越來越多,次數會越來越多,這就是所謂的 讀擴散問題 。

讀擴散問題

這是個比較有趣的問題,它確實是個問題,但大部分的業務不會去處理它,讀100次怎么了,數據增長之后讀的次數會不斷增加又怎么了?但架不住我的 業務不賺錢 啊,也根本 長不了那么多數據 啊。

話是這么說沒錯,但面試官問你的時候,你得知道怎么處理啊。

引入新表來做分表

問題的核心在于,主鍵是分片鍵,而普通索引列并不分片。

那好辦,我們單獨建個 新的分片表 ,這個新表里的列就只有舊表的主鍵id和普通索引列,而這次換普通索引列來做分片鍵。

通過新索引表解決讀擴散問題

這樣當我們要查詢普通索引列時,先到這個新的分片表里做一次查詢,就能迅速定位到對應的主鍵id,然后再拿主鍵id去舊的分片表里查一次數據。這樣就從原來漫無目的的全表擴散查詢,縮減為只查固定幾個表了。

舉個例子。比如我的表原本長下面這樣,其中id列是主鍵,同時也是分片鍵,name列是非主鍵索引。為了簡化,假設三條數據一張表。

此時分表里 id=1,4,6 的都有 name="小白" 的數據。

當我們執行 select * from user where name = "小白"; 則需要并發查3張表,隨著表變多,查詢次數會變得更多。

舉例說明讀擴散問題

但如果我們為name列 建個新表(nameX),以name為新的分片鍵 。

這樣我們可以先執行 select id from nameX where name = "小白";

再拿著結果里的ids去查詢 select * from user where id in (ids); 這樣就算表變多了,也可以迅速定位到某幾張具體的表,減少了查詢次數。

舉例說明通過新索引表解決讀擴散問題

但這個做法的缺點也比較明顯,你需要維護兩套表,并且普通索引列更新時,要兩張表同時進行更改。

有一定的開發量

有沒有更簡單的方案?

使用其他更合適的存儲

我們常規的查詢是通過id主鍵去查詢對應的name列。而像上面的方案,則通過引入一個新表, 倒過來 ,先用name查到對應的id,再拿id去獲取具體的數據。這其實就像是建立了一個新的索引一樣,像這種,通過name列反查原數據的思想,其實就很類似于 倒排索引 。

相當于我們是利用了倒排索引的思路去解決分表下的數據查詢問題。

回想下,其實我們的 原始需求 無非就是在大量數據的場景下依然能提供普通索引列或其他更多維度的查詢。

這種場合,更適合使用es,es天然分片,而且內部利用 倒排索引 的形式來加速數據查詢。

哦?兄弟萌,又是它, 倒排索引 ,又是個極小的細節,做好筆記。

舉個例子,我同樣是一行數據 id,name,age。在mysql里,你得根據id分片,如果要支持name和age的查詢,為了防止讀擴散,你得分別再建一個name的分片表和一個age的分片表。

而如果你用es,它會在它內部以id分片鍵進行分片,同時還能建一個name到id,和一個age到id的倒排索引。這是不是就跟上面做的事情沒啥區別。

而且將mysql接入es也非常簡單,我們可以通過開源工具 canal 監聽mysql的 binlog 日志變更,再將數據解析后寫入es,這樣es就能提供 近實時 的查詢能力。

mysql同步es

覺得es+mysql還是繁瑣?有沒有其他更簡潔的方案?

有。

別用mysql了,改用 tidb 吧,相信大家多少也聽說過這個名稱,這是個 分布式數據庫 。

它通過引入 Range 的概念進行數據表分片,比如第一個分片表的id在0~2kw,第二個分片表的id在2kw~4kw。

哦?有沒有很熟悉,這不就是文章開頭提到的根據id范圍進行數據庫分表嗎?

它支持普通索引,并且普通索引也是分片的,這是不是又跟上面提到的倒排索引方案很類似。

又是個極小的細節。

并且tidb跟mysql的語法幾乎一致,現在也有非常多現成的工具可以幫你把數據從mysql遷移到tidb。所以開發成本并不高。

用tidb替換mysql

總結

mysql在單表數據過大時,查詢性能會變差,因此當數據量變得巨大時,需要考慮水平分表。

水平分表需要選定一個分片鍵,一般選擇主鍵,然后根據id進行取模,或者根據id的范圍進行分表。

mysql水平分表后,對于非分片鍵字段的查詢會有讀擴散的問題,可以用普通索引列作分片鍵建一個新表,先查新表拿到id后再回到原表再查一次原表。這本質上是借鑒了倒排索引的思路。

如果想要支持更多維度的查詢,可以監聽mysql的binlog,將數據寫入到es,提供近實時的查詢能力。

當然,用tidb替換mysql也是個思路。tidb屬實是個好東西,不少廠都拿它換個皮貼個標,做成自己的 自研數據庫 ,非常推薦大家學習一波。

不要做過早的優化,沒事別上來就分100個表,很多時候真用不上。

參考資料

《圖解分庫分表》

https://mp.weixin.qq.com/s/OI5y4HMTuEZR1hoz9aOMxg

最后

當年我還在某個游戲項目組里做開發的時候,從企鵝那邊挖來的策劃信誓旦旦的說,我們要做的這款游戲老少皆宜,肯定是爆款。要做成全球同服。上線至少 過億注冊 , 十萬人同時在線 。要好好規劃和設計。

我們算了下,信他能有個1億注冊。用了id范圍的方式進行分片,分了 4張表 。

搞得我熱血沸騰。

那天晚上下班,夏蟬鳴泣,從赤道吹來的熱風陣陣拂過我的手臂,我聽著澤野弘之的歌,就算是開電瓶車,我都感覺自己像是在開高達。

一年后。

游戲上線前一天通知運維加機器,怕頂不住,要整夜關注。

后來上線了,全球最高在線人數 58 人。其中有 7 個是項目組成員。

還是夏天,還是同樣的下班路,想哭,但我不能哭,因為騎電瓶車的時候擦眼淚不安全。

責任編輯:張燕妮 來源: 網管叨bi叨
相關推薦

2022-05-25 08:06:37

MySQL分庫分表

2025-04-01 08:45:00

2020-07-30 17:59:34

分庫分表SQL數據庫

2019-11-12 09:54:20

分庫分表數據

2023-08-11 08:59:49

分庫分表數據數據庫

2025-06-05 01:11:00

2021-08-31 20:21:11

VitessMySQL分庫

2020-11-18 09:39:02

MySQL數據庫SQL

2024-07-26 00:16:11

2019-01-16 14:00:54

數據庫分庫分表

2021-01-26 05:37:08

分庫分表內存

2020-07-28 09:04:09

NewSQL分庫分表

2022-07-11 08:16:47

NewSQL關系數據庫系統

2024-07-25 18:20:03

2025-04-09 00:00:00

2022-09-26 08:28:22

分庫分表數據

2021-03-17 16:15:55

數據MySQL 架構

2025-11-19 01:00:00

2021-01-13 11:42:52

分庫分表數據庫瓶頸

2019-01-30 09:53:58

數據庫性能分庫分表
點贊
收藏

51CTO技術棧公眾號

免费男同深夜夜行网站| 日本一区视频在线观看| 日韩美女视频网站| 国产影视精品一区二区三区| 欧美人与z0zoxxxx视频| 无码人妻少妇伦在线电影| 亚洲人视频在线观看| 美女一区二区久久| 久久久久久久久久久免费精品| 国产艳俗歌舞表演hd| 成人性生交大片免费网站| 综合在线观看色| 久99久视频| 国产麻豆一精品一男同| 国产伦理一区| 免费av在线一区| 国产熟妇搡bbbb搡bbbb| 人人爱人人干婷婷丁香亚洲| 欧美亚洲国产一区在线观看网站| 草草草视频在线观看| 国产三级电影在线| 成人激情动漫在线观看| 国产综合色香蕉精品| 天天综合天天干| 午夜久久美女| 俺也去精品视频在线观看| 蜜桃传媒一区二区亚洲av| 亚洲精品观看| 制服丝袜激情欧洲亚洲| 国产a级片免费观看| а√天堂8资源在线| 亚洲精品国产精华液| 中文字幕乱码一区二区三区| 蜜芽tv福利在线视频| 成人免费视频免费观看| 51精品国产人成在线观看| 亚洲天堂国产精品| 日韩高清一级片| 欧美最猛性xxxx| 日本在线视频免费| 国产在线日韩| 久久久久久久久久久亚洲| 日韩欧美国产成人精品免费| 97人人精品| 在线精品国产欧美| 91狠狠综合久久久久久| 欧美日中文字幕| 亚洲视频视频在线| 亚洲熟妇无码av| 久久av影视| 亚洲欧美999| 蜜桃传媒一区二区亚洲av| 亚洲素人在线| 亚洲三级黄色在线观看| 一区二区三区在线观看免费视频| 亚洲伊人春色| 国产亚洲欧美一区| 亚洲精品成人av久久| 欧美偷拍自拍| 日韩亚洲第一页| 1024手机在线视频| 伊人成年综合电影网| 午夜精品久久17c| 五月婷婷色丁香| 久久精品动漫| 国产欧美中文字幕| a级片在线免费看| 成人免费观看视频| 狼狼综合久久久久综合网| 国产在线色视频| 国产精品久久久久9999吃药| 日本三级中文字幕在线观看| 欧洲精品二区| 狠狠躁夜夜躁久久躁别揉| 91视频最新入口| 69堂精品视频在线播放| 91麻豆精品国产自产在线观看一区| www.桃色.com| 精品素人av| 一区二区亚洲精品国产| 亚洲精品卡一卡二| 亚洲狠狠婷婷| 国产精品久久久久av免费| 亚洲专区第一页| 国产mv日韩mv欧美| 色一情一乱一伦一区二区三区丨 | 欧美视频xxxx| 国产综合久久久久久鬼色| 国产日韩二区| 在线国产91| 亚洲电影第三页| 久久午夜夜伦鲁鲁一区二区| 国产精品成人3p一区二区三区| 亚洲二区在线播放视频| 女人十八毛片嫩草av| 国产中文一区| 国产免费一区视频观看免费| 成人免费一级视频| 中文字幕巨乱亚洲| www国产精品内射老熟女| 欧美一区二区三区婷婷| 日韩精品欧美国产精品忘忧草| 91香蕉视频污在线观看| 9色国产精品| 亚洲一区二区三区777| 欧洲天堂在线观看| 亚洲国产一区视频| 天天综合天天添夜夜添狠狠添| 精品女人视频| 欧美日韩福利在线观看| 中文字幕免费高清在线观看| 99久久伊人精品| 国产高潮呻吟久久久| 国产伦精品一区二区三区视频金莲| 欧美一区二区视频网站| 国产在线综合视频| 美女网站久久| 精品一区久久久久久| 亚洲丝袜一区| 宅男在线国产精品| 特黄一区二区三区| 日韩va欧美va亚洲va久久| 精品欧美一区二区精品久久| 91网址在线观看| 欧美精品在线视频| 卡一卡二卡三在线观看| 国产精品日本| 国产精品一区在线播放| 午夜在线激情影院| 91精品国产欧美日韩| 91无套直看片红桃在线观看| 男女精品视频| 欧美一区二区三区电影在线观看 | 中文字幕一区二区三三| 国产精品高精视频免费| 四虎影视2018在线播放alocalhost| 亚洲精品视频在线| 婷婷激情综合五月天| 日本精品黄色| 国产精品视频在线播放| av大片在线观看| 欧美日韩一区小说| 五月天婷婷丁香网| 老司机精品视频导航| 天堂一区二区三区| 成人mm视频在线观看| 在线视频日本亚洲性| 中文字幕一区二区三区四区视频| 国产亚洲成年网址在线观看| 国内自拍视频一区| 国产一区二区精品久| 国产精品av在线| 成人在线免费看| 欧美日韩中字一区| 欧美肥妇bbwbbw| 国产精品系列在线播放| 真人抽搐一进一出视频| 老司机aⅴ在线精品导航| 欧美一区二区三区免费视| 精品av中文字幕在线毛片| 日本黄色一区二区| 欧美一级特黄高清视频| 国产99久久久久| 99999精品视频| 欧美少妇xxxx| 91在线无精精品一区二区| 最新黄网在线观看| 亚洲激情成人网| 天堂网中文字幕| 国产精品免费久久久久| 亚洲欧洲日韩综合| 国产亚洲福利| 亚洲国产精品综合| 欧美三级一区| 国产91精品久久久久久久| h视频网站在线观看| 欧美一区在线视频| 国产成人免费观看视频 | 亚洲精品不卡| 97se亚洲| 国产精品久久久久999| 伊人影院在线视频| 日韩大陆毛片av| 亚洲中文字幕一区二区| 午夜精品123| 欧美性生交大片| 91视频精品在这里| 999热精品视频| 久久国产主播| 欧美一级中文字幕| blacked蜜桃精品一区| 99久久一区三区四区免费| 亚洲美女久久精品| 欧美激情国产日韩精品一区18| 日本护士...精品国| 6080午夜不卡| 欧产日产国产69| 亚洲精品久久久蜜桃| 日韩视频在线观看免费视频| 成人在线视频首页| 国产精品v日韩精品v在线观看| 9国产精品视频| 日本丰满大乳奶| 精品成av人一区二区三区| 动漫精品视频| 婷婷精品久久久久久久久久不卡| 久久人人爽人人爽人人片av高清| 在线国产情侣| 亚洲色图美腿丝袜| 亚洲三区在线观看无套内射| 欧美一级生活片| 中文字幕乱码一区二区| 欧美性xxxx极品hd欧美风情| 久草国产在线观看| 中文字幕亚洲成人| 国产精成人品免费观看| 91农村精品一区二区在线| 男生和女生一起差差差视频| 麻豆91小视频| 国产一级不卡毛片| 国产亚洲激情| 97成人在线免费视频| 午夜精品影院| 强开小嫩苞一区二区三区网站| 精品视频国产| 日韩高清专区| 久久99视频| 欧美性天天影院| 色哟哟精品丝袜一区二区| 国产精品加勒比| 日本高清久久| 99国产视频在线| 久久在线观看| 91在线在线观看| 日韩影片在线观看| 999热视频在线观看| 精品一区二区三区亚洲| 亚洲综合精品一区二区| 国产一区二区久久久久| 亚洲精品免费网站| 欧美h版在线观看| 97视频资源在线观看| 亚洲一区二区电影| 国产成人精品日本亚洲11| 亚洲视频三区| 国产精品9999久久久久仙踪林| 亚洲精品一区二区三区中文字幕| 91麻豆桃色免费看| 久久伊人影院| 国产精品乱码| 美女久久99| 新呦u视频一区二区| 外国成人免费视频| 欧美视频在线第一页| 亚洲清纯自拍| 黄色片久久久久| 美女mm1313爽爽久久久蜜臀| 日韩欧美亚洲另类| 国产成人精品午夜视频免费| 中文字幕人妻熟女在线| 99re亚洲国产精品| 波多野结衣片子| 最新日韩在线视频| 国产精品99精品| 色丁香久综合在线久综合在线观看| 五月天中文字幕| 日韩一区二区三区av| 亚洲av成人无码网天堂| 国产一区二区三区在线看| 免费av在线播放| 欧美极品少妇与黑人| 久九九久频精品短视频| 国产欧美日韩精品在线观看| 亚洲日本一区二区三区在线| 久久伊人资源站| 成人精品天堂一区二区三区| 日本在线视频www色| 国产精品一区毛片| 在线观看免费的av| 99久久免费国产| 99国产精品无码| 午夜一区二区三区在线观看| 国产天堂第一区| 日韩精品自拍偷拍| 大胆av不用播放器在线播放 | 国产污视频在线播放| 国产精品va在线播放| 91午夜精品| 亚洲一区二区三区在线观看视频| 欧美日本三区| 毛葺葺老太做受视频| 成人午夜av影视| 黄色激情小视频| 欧美日韩亚洲激情| aaa一区二区三区| 亚洲色在线视频| 国产第一页在线视频| 国产噜噜噜噜噜久久久久久久久| 136国产福利精品导航网址应用| 欧美中文娱乐网| 亚洲激情成人| 国内精品国产三级国产aⅴ久| 2020国产精品自拍| 九九热精品在线观看| 欧美午夜在线观看| 污污视频在线观看网站| 欧美成年人视频网站| 巨胸喷奶水www久久久| 国外成人在线视频网站| 99久久www免费| 国产精品久久久久9999小说| av亚洲产国偷v产偷v自拍| 污软件在线观看| 在线观看日产精品| 四虎电影院在线观看| 欧美精品在线观看91| 欧美综合影院| 色视频一区二区三区| 久久精品伊人| 国产夫妻性爱视频| 亚洲国产精品久久人人爱| av加勒比在线| 久久精品国产欧美激情| 另类一区二区三区| 亚洲高清在线观看一区| 日韩高清一级片| 亚洲久久久久久久| 欧美日韩在线观看视频| 天堂在线视频免费观看| 色综合久久悠悠| 秋霞一区二区三区| 亚洲精品天堂成人片av在线播放| 极品少妇一区二区| 国产老头老太做爰视频| 欧美另类高清zo欧美| 日韩av中文| 91免费国产网站| 一区二区在线| 日韩高清在线一区二区| 亚洲乱码国产乱码精品精的特点| 一区二区美女视频| 久久精品国产精品亚洲| 国产麻豆一区二区三区| 国产日本欧美在线| 国产成人精品三级| 麻豆国产尤物av尤物在线观看 | 精品久久久久久久中文字幕| 欧美一区二区三区激情| 69av视频在线播放| 欧洲专线二区三区| 色婷婷狠狠18| 一色屋精品亚洲香蕉网站| 国产后入清纯学生妹| 欧美极品美女视频网站在线观看免费| 视频二区欧美| 男人的天堂狠狠干| 久久久久久久国产精品影院| 精品乱码一区内射人妻无码 | 久久丁香综合五月国产三级网站| 精品一区二区在线观看视频| 91精品麻豆日日躁夜夜躁| 欧美1—12sexvideos| 国产乱码精品一区二区三区中文 | 久久在线播放| 91性高潮久久久久久久| 亚洲高清中文字幕| 精品99又大又爽又硬少妇毛片| 国产精品丝袜高跟| 综合一区av| 亚洲一区二区乱码| 欧美日韩国产首页| 爱看av在线入口| 日本成人三级| 国产乱人伦精品一区二区在线观看| 久久成人国产精品入口| 亚洲女人天堂网| 国产精品久久久久久av公交车| 999一区二区三区| 国产欧美日韩麻豆91| 国产成人精品一区二区无码呦| 午夜精品一区二区三区视频免费看| 国产免费播放一区二区| 91插插插影院| 狠狠色狠狠色综合日日五| 麻豆网在线观看| 久久久久久久久久久久久久一区| 卡一卡二国产精品 | 欧美日韩一区不卡| 人妖欧美1区| 四虎永久国产精品| 99国产精品久久久久久久久久| 这里只有精品6| 97人人爽人人喊人人模波多 | 精品久久久久久久久久中文字幕| 国产日韩精品一区二区三区在线| 国产高清视频免费观看| 国产成人精品亚洲精品| 伊人久久亚洲美女图片| 91导航在线观看| 精品亚洲男同gayvideo网站|