成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎

淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎

熱門(mén)標(biāo)簽:外東北地圖標(biāo)注 話務(wù)外呼系統(tǒng)怎么樣 大眾點(diǎn)評(píng)星級(jí)酒店地圖標(biāo)注 400電話可以辦理嗎 高清地圖標(biāo)注道路 云南電商智能外呼系統(tǒng)價(jià)格 拉卡拉外呼系統(tǒng) 智能外呼系統(tǒng)復(fù)位 臨清電話機(jī)器人

我的主機(jī)內(nèi)存只有100G,現(xiàn)在要全表掃描一個(gè)200G大表,會(huì)不會(huì)把DB主機(jī)的內(nèi)存用光?

邏輯備份時(shí),可不就是做整庫(kù)掃描嗎?若這樣就會(huì)把內(nèi)存吃光,邏輯備份不是早就掛了?
所以大表全表掃描,看起來(lái)應(yīng)該沒(méi)問(wèn)題。這是為啥呢?

全表掃描對(duì)server層的影響

假設(shè),我們現(xiàn)在要對(duì)一個(gè)200G的InnoDB表db1. t,執(zhí)行一個(gè)全表掃描。當(dāng)然,你要把掃描結(jié)果保存在客戶端,會(huì)使用類(lèi)似這樣的命令:

mysql -h$host -P$port -u$user -p$pwd -e 
	"select * from db1.t" > $target_file

InnoDB數(shù)據(jù)保存在主鍵索引上,所以全表掃描實(shí)際上是直接掃描表t的主鍵索引。這條查詢語(yǔ)句由于沒(méi)有其他判斷條件,所以查到的每一行都可以直接放到結(jié)果集,然后返回給客戶端。

那么,這個(gè)“結(jié)果集”存在哪里呢?
服務(wù)端無(wú)需保存一個(gè)完整結(jié)果集。取數(shù)據(jù)和發(fā)數(shù)據(jù)的流程是這樣的:

  • 獲取一行,寫(xiě)到net_buffer。這塊內(nèi)存的大小是由參數(shù)net_buffer_length定義,默認(rèn)16k
  • 重復(fù)獲取行,直到net_buffer寫(xiě)滿,調(diào)用網(wǎng)絡(luò)接口發(fā)出去
  • 若發(fā)送成功,就清空net_buffer,然后繼續(xù)取下一行,并寫(xiě)入net_buffer
  • 若發(fā)送函數(shù)返回EAGAIN或WSAEWOULDBLOCK,就表示本地網(wǎng)絡(luò)棧(socket send buffer)寫(xiě)滿了,進(jìn)入等待。直到網(wǎng)絡(luò)棧重新可寫(xiě),再繼續(xù)發(fā)送

查詢結(jié)果發(fā)送流程

可見(jiàn):

  • 一個(gè)查詢?cè)诎l(fā)送過(guò)程中,占用的MySQL內(nèi)部的內(nèi)存最大就是net_buffer_length這么大,不會(huì)達(dá)到200G
  • socket send buffer 也不可能達(dá)到200G(默認(rèn)定義/proc/sys/net/core/wmem_default),若socket send buffer被寫(xiě)滿,就會(huì)暫停讀數(shù)據(jù)的流程

所以MySQL其實(shí)是“邊讀邊發(fā)”。這意味著,若客戶端接收得慢,會(huì)導(dǎo)致MySQL服務(wù)端由于結(jié)果發(fā)不出去,這個(gè)事務(wù)的執(zhí)行時(shí)間變長(zhǎng)。

比如下面這個(gè)狀態(tài),就是當(dāng)客戶端不讀socket receive buffer內(nèi)容時(shí),在服務(wù)端show processlist看到的結(jié)果。

服務(wù)端發(fā)送阻塞


若看到State一直是“Sending to client”,說(shuō)明服務(wù)器端的網(wǎng)絡(luò)棧寫(xiě)滿了。

若客戶端使用–quick參數(shù),會(huì)使用mysql_use_result方法:讀一行處理一行。假設(shè)某業(yè)務(wù)的邏輯較復(fù)雜,每讀一行數(shù)據(jù)以后要處理的邏輯若很慢,就會(huì)導(dǎo)致客戶端要過(guò)很久才取下一行數(shù)據(jù),可能就會(huì)出現(xiàn)上圖結(jié)果。

因此,對(duì)于正常的線上業(yè)務(wù)來(lái)說(shuō),若一個(gè)查詢的返回結(jié)果不多,推薦使用mysql_store_result接口,直接把查詢結(jié)果保存到本地內(nèi)存。

當(dāng)然前提是查詢返回結(jié)果不多。如果太多,因?yàn)閳?zhí)行了一個(gè)大查詢導(dǎo)致客戶端占用內(nèi)存近20G,這種情況下就需要改用mysql_use_result接口。

若你在自己負(fù)責(zé)維護(hù)的MySQL里看到很多個(gè)線程都處于“Sending to client”,表明你要讓業(yè)務(wù)開(kāi)發(fā)同學(xué)優(yōu)化查詢結(jié)果,并評(píng)估這么多的返回結(jié)果是否合理。

若要快速減少處于這個(gè)狀態(tài)的線程的話,可以將net_buffer_length設(shè)置更大。

有時(shí),實(shí)例上看到很多查詢語(yǔ)句狀態(tài)是“Sending data”,但查看網(wǎng)絡(luò)也沒(méi)什么問(wèn)題,為什么Sending data要這么久?
一個(gè)查詢語(yǔ)句的狀態(tài)變化是這樣的:

  • MySQL查詢語(yǔ)句進(jìn)入執(zhí)行階段后,先把狀態(tài)設(shè)置成 Sending data
  • 然后,發(fā)送執(zhí)行結(jié)果的列相關(guān)的信息(meta data) 給客戶端
  • 再繼續(xù)執(zhí)行語(yǔ)句的流程
  • 執(zhí)行完成后,把狀態(tài)設(shè)置成空字符串。

即“Sending data”并不一定是指“正在發(fā)送數(shù)據(jù)”,而可能是處于執(zhí)行器過(guò)程中的任意階段。比如,你可以構(gòu)造一個(gè)鎖等待場(chǎng)景,就能看到Sending data狀態(tài)。

讀全表被鎖:

session1 session2
begin
select * from t where id=1 for update
啟動(dòng)事務(wù)
select * from t lock in share mode
(blocked)

Sending data狀態(tài)

可見(jiàn)session2是在等鎖,狀態(tài)顯示為Sending data。

  • 僅當(dāng)一個(gè)線程處于“等待客戶端接收結(jié)果”的狀態(tài),才會(huì)顯示"Sending to client"
  • 若顯示成“Sending data”,它的意思只是“正在執(zhí)行”

所以,查詢的結(jié)果是分段發(fā)給客戶端,因此掃描全表,查詢返回大量數(shù)據(jù),并不會(huì)把內(nèi)存打爆。

以上是server層的處理邏輯,在InnoDB引擎里又是怎么處理?

全表掃描對(duì)InnoDB的影響

InnoDB內(nèi)存的一個(gè)作用,是保存更新的結(jié)果,再配合redo log,避免隨機(jī)寫(xiě)盤(pán)。

內(nèi)存的數(shù)據(jù)頁(yè)是在Buffer Pool (簡(jiǎn)稱為BP)管理,在WAL里BP起加速更新的作用。
BP還能加速查詢。

由于WAL,當(dāng)事務(wù)提交時(shí),磁盤(pán)上的數(shù)據(jù)頁(yè)是舊的,若這時(shí)馬上有個(gè)查詢來(lái)讀該數(shù)據(jù)頁(yè),是不是要馬上把redo log應(yīng)用到數(shù)據(jù)頁(yè)?

不需要。因?yàn)榇藭r(shí),內(nèi)存數(shù)據(jù)頁(yè)的結(jié)果是最新的,直接讀內(nèi)存頁(yè)即可。這時(shí)查詢無(wú)需讀磁盤(pán),直接從內(nèi)存取結(jié)果,速度很快。所以,Buffer Pool能加速查詢。

而B(niǎo)P對(duì)查詢的加速效果,依賴于一個(gè)重要的指標(biāo),即:內(nèi)存命中率。
可以在show engine innodb status結(jié)果中,查看一個(gè)系統(tǒng)當(dāng)前的BP命中率。一般情況下,一個(gè)穩(wěn)定服務(wù)的線上系統(tǒng),要保證響應(yīng)時(shí)間符合要求的話,內(nèi)存命中率要在99%以上。

執(zhí)行show engine innodb status ,可以看到“Buffer pool hit rate”字樣,顯示的就是當(dāng)前的命中率。比如下圖命中率,就是100%。


若所有查詢需要的數(shù)據(jù)頁(yè)都能夠直接從內(nèi)存得到,那是最好的,對(duì)應(yīng)命中率100%。

InnoDB Buffer Pool的大小是由參數(shù) innodb_buffer_pool_size確定,一般建議設(shè)置成可用物理內(nèi)存的60%~80%。

在大約十年前,單機(jī)的數(shù)據(jù)量是上百個(gè)G,而物理內(nèi)存是幾個(gè)G;現(xiàn)在雖然很多服務(wù)器都能有128G甚至更高的內(nèi)存,但是單機(jī)的數(shù)據(jù)量卻達(dá)到了T級(jí)別。

所以,innodb_buffer_pool_size小于磁盤(pán)數(shù)據(jù)量很常見(jiàn)。若一個(gè) Buffer Pool滿了,而又要從磁盤(pán)讀入一個(gè)數(shù)據(jù)頁(yè),那肯定是要淘汰一個(gè)舊數(shù)據(jù)頁(yè)的。

InnoDB內(nèi)存管理

使用的最近最少使用 (Least Recently Used, LRU)算法,淘汰最久未使用數(shù)據(jù)。

  • 基本LRU算法

TODO

  • InnoDB管理BP的LRU算法,是用鏈表實(shí)現(xiàn)的:
  • state1,鏈表頭部是P1,表示P1是最近剛被訪問(wèn)過(guò)的數(shù)據(jù)頁(yè)
  • 此時(shí),一個(gè)讀請(qǐng)求訪問(wèn)P3,因此變成狀態(tài)2,P3被移到最前
  • 狀態(tài)3表示,這次訪問(wèn)的數(shù)據(jù)頁(yè)不存在于鏈表,所以需要在BP中新申請(qǐng)一個(gè)數(shù)據(jù)頁(yè)P(yáng)x,加到鏈表頭。但由于內(nèi)存已滿,不能申請(qǐng)新內(nèi)存。于是清空鏈表末尾Pm數(shù)據(jù)頁(yè)內(nèi)存,存入Px的內(nèi)容,放到鏈表頭部

最終就是最久沒(méi)有被訪問(wèn)的數(shù)據(jù)頁(yè)P(yáng)m被淘汰。
若此時(shí)要做一個(gè)全表掃描,會(huì)咋樣?若要掃描一個(gè)200G的表,而這個(gè)表是一個(gè)歷史數(shù)據(jù)表,平時(shí)沒(méi)有業(yè)務(wù)訪問(wèn)它。

那么,按此算法掃描,就會(huì)把當(dāng)前BP里的數(shù)據(jù)全部淘汰,存入掃描過(guò)程中訪問(wèn)到的數(shù)據(jù)頁(yè)的內(nèi)容。也就是說(shuō)BP里主要放的是這個(gè)歷史數(shù)據(jù)表的數(shù)據(jù)。

對(duì)于一個(gè)正在做業(yè)務(wù)服務(wù)的庫(kù),這可不行呀。你會(huì)看到,BP內(nèi)存命中率急劇下降,磁盤(pán)壓力增加,SQL語(yǔ)句響應(yīng)變慢。

所以,InnoDB不能直接使用原始的LRU。InnoDB對(duì)其進(jìn)行了優(yōu)化。

改進(jìn)的LRU算法

InnoDB按5:3比例把鏈表分成New區(qū)和Old區(qū)。圖中LRU_old指向的就是old區(qū)域的第一個(gè)位置,是整個(gè)鏈表的5/8處。即靠近鏈表頭部的5/8是New區(qū)域,靠近鏈表尾部的3/8是old區(qū)域。

改進(jìn)后的LRU算法執(zhí)行流程:

1. 狀態(tài)1,要訪問(wèn)P3,由于P3在New區(qū),和優(yōu)化前LRU一樣,將其移到鏈表頭部 =》狀態(tài)2
2. 之后要訪問(wèn)一個(gè)新的不存在于當(dāng)前鏈表的數(shù)據(jù)頁(yè),這時(shí)依然是淘汰掉數(shù)據(jù)頁(yè)P(yáng)m,但新插入的數(shù)據(jù)頁(yè)P(yáng)x,是放在LRU_old處
3. 處于old區(qū)的數(shù)據(jù)頁(yè),每次被訪問(wèn)的時(shí)候都要做如下判斷:

  • 若該數(shù)據(jù)頁(yè)在LRU鏈表中存在的時(shí)間超過(guò)1s,就把它移動(dòng)到鏈表頭部
  • 若該數(shù)據(jù)頁(yè)在LRU鏈表中存在的時(shí)間短于1s,位置保持不變。1s是由參數(shù)innodb_old_blocks_time控制,默認(rèn)值1000,單位ms。

該策略,就是為了處理類(lèi)似全表掃描的操作量身定制。還是掃描200G歷史數(shù)據(jù)表:
4. 掃描過(guò)程中,需要新插入的數(shù)據(jù)頁(yè),都被放到old區(qū)域
5. 一個(gè)數(shù)據(jù)頁(yè)里面有多條記錄,這個(gè)數(shù)據(jù)頁(yè)會(huì)被多次訪問(wèn)到,但由于是順序掃描,這個(gè)數(shù)據(jù)頁(yè)第一次被訪問(wèn)和最后一次被訪問(wèn)的時(shí)間間隔不會(huì)超過(guò)1秒,因此還是會(huì)被保留在old區(qū)域
6. 再繼續(xù)掃描后續(xù)的數(shù)據(jù),之前的這個(gè)數(shù)據(jù)頁(yè)之后也不會(huì)再被訪問(wèn)到,于是始終沒(méi)有機(jī)會(huì)移到鏈表頭部(New區(qū)),很快就會(huì)被淘汰出去。

可以看到,這個(gè)策略最大的收益,就是在掃描這個(gè)大表的過(guò)程中,雖然也用到了BP,但對(duì)young區(qū)完全沒(méi)有影響,從而保證了Buffer Pool響應(yīng)正常業(yè)務(wù)的查詢命中率。

小結(jié)

MySQL采用的是邊算邊發(fā)的邏輯,因此對(duì)于數(shù)據(jù)量很大的查詢結(jié)果來(lái)說(shuō),不會(huì)在server端保存完整的結(jié)果集。所以,如果客戶端讀結(jié)果不及時(shí),會(huì)堵住MySQL的查詢過(guò)程,但是不會(huì)把內(nèi)存打爆。

而對(duì)于InnoDB引擎內(nèi)部,由于有淘汰策略,大查詢也不會(huì)導(dǎo)致內(nèi)存暴漲。并且,由于InnoDB對(duì)LRU算法做了改進(jìn),冷數(shù)據(jù)的全表掃描,對(duì)Buffer Pool的影響也能做到可控。

全表掃描還是比較耗費(fèi)IO資源的,所以業(yè)務(wù)高峰期還是不能直接在線上主庫(kù)執(zhí)行全表掃描的。

到此這篇關(guān)于淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)查詢OOM內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL的時(shí)間差函數(shù)TIMESTAMPDIFF、DATEDIFF的用法
  • MySQL的時(shí)間差函數(shù)(TIMESTAMPDIFF、DATEDIFF)、日期轉(zhuǎn)換計(jì)算函數(shù)(date_add、day、date_format、str_to_date)
  • 實(shí)現(xiàn)MySQL + PostgreSQL批量插入更新insertOrUpdate
  • MYSQL row_number()與over()函數(shù)用法詳解
  • MySQL隱式類(lèi)型轉(zhuǎn)換導(dǎo)致索引失效的解決
  • Django搭建MySQL主從實(shí)現(xiàn)讀寫(xiě)分離
  • MySQL多表連接查詢?cè)斀?/li>
  • mysql中TIMESTAMPDIFF案例詳解

標(biāo)簽:阿里 福州 溫州 山西 揚(yáng)州 無(wú)錫 三明 定西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎》,本文關(guān)鍵詞  淺談,MySQL,數(shù)據(jù)查詢,太多,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    成人免费看片98| 日韩 欧美 自拍| 99热99这里只有精品| 国产伦精品一区二区三区免| 国产精品视频播放| 精品成人佐山爱一区二区| 天天影视色香欲综合| 欧美日韩一区二区三区四区在线观看| 欧美大片在线看免费观看| 一区免费观看视频| 国产专区一区二区| 亚洲v欧美v另类v综合v日韩v| 成人盗摄视频| 色悠悠在线视频| 先锋影音男人资源| 国产高清中文字幕在线| 香蕉人妻av久久久久天天| 久久久影院免费| 国产中文在线视频| 国产福利片在线观看| 亚洲成人影院在线观看| 亚洲国产欧美一区二区三区久久| av二区在线| 国产午夜精品福利| 欧洲日韩成人av| 国产66精品久久久久999小说| 欧美高清视频一区二区三区| 77777亚洲午夜久久多人| 深夜精品寂寞黄网站在线观看| 久久久久免费av| 中文在线第一页| 97精品资源在线观看| 亚洲国产天堂久久综合| 中文字幕视频一区二区三区久| 99在线精品观看| 中文字幕乱码中文乱码51精品| 天堂网视频在线| 一区二区三区四区视频免费观看| 欧美成人午夜激情在线| 欧美午夜激情影院| 无码小电影在线观看网站免费| 国产精品一区二区三区在线免费观看| 久久91精品国产91久久小草| 777国产偷窥盗摄精品视频| 一区在线免费| 可以免费看不卡的av网站| 黄色免费在线看| 久久久久久久久久久免费精品| 黄色一级视频在线观看| 国产区精品在线观看| 2020国产精品自拍| 国产成a人亚洲精v品无码| 免费看亚洲片| 国产乱淫av一区二区三区| 精品国产乱子伦一区二区| 国产剧情演绎av| 色偷偷精品视频在线播放| 大伊香蕉精品视频在线| 日韩午夜电影免费看| 97一区二区国产好的精华液| tube国产麻豆| www.66久久| 欧美日韩免费精品| 成人av一区二区三区在线观看| 国产免费拔擦拔擦8x在线播放| 亚洲一区二区三区四区的| 精品国模一区二区三区| 男人天堂综合| 欧美疯狂爱爱xxxxbbbb| 二吊插入一穴一区二区| 美女搡bbb又爽又猛又黄www| 青青青在线观看视频| jizzjizz日本护士免费| 国产亚洲免费的视频看| 久久中文字幕一区二区三区| 亚洲一区二区福利视频| 色诱视频在线观看| 宅男网站在线免费观看| 日韩在线免费播放| 国产超碰91| 日韩网红少妇无码视频香港| 99re热这里只有精品免费视频| 日本美女高清在线观看免费| 影视一区二区| 好想男人揉我下面好多水| 一级在线免费观看| 亚洲另类激情图| www 成人av com| 亚洲精品伦理在线| 国产免费视频传媒| 日韩中文字幕不卡视频| 日韩精品免费一区| 国产欧美久久久精品免费| xxxx黑人da| 伊人色综合影院| 欧美三级理论片| 免费91麻豆精品国产自产在线观看| 日韩成人影音| www.亚洲视频.com| 国产亚洲aⅴaaaaaa毛片| 长河落日免费高清观看| av官网在线观看| 青青草国产精品| 欧美亚洲综合一区| 亚洲国产精品综合小说图片区| 国产色视频一区二区三区qq号| 韩国国内大量揄拍精品视频| 91亚洲自偷观看高清| 一个人免费观看在线视频www| 欧美日产国产成人免费图片| 成人看av片| 久久国产毛片| 四虎影院在线域名免费观看| 丝袜免费视频| 国产大奶视频| 久久久一区二区| zztt21.su黑料网站| 国产精品国产三级国产专业不| 那种视频在线观看| 日韩色视频在线观看| 亚洲丁香婷深爱综合| 国产制服91一区二区三区制服| 一道本在线视频| 91色婷婷久久久久合中文| 国产日韩欧美综合在线| 午夜亚洲国产au精品一区二区| 亚洲最大激情中文字幕| 成人h视频在线观看| av福利导福航大全在线| 国产精品免费久久久久影院| 国产精品77777竹菊影视小说| 亚洲国产精品久久久久婷婷老年| 欧美狂野另类xxxxoooo| 最近中文字幕在线mv视频在线| 欧美一区二区三区婷婷| 国产无遮挡一区二区三区毛片日本| 国产精品视频500部| 中文字幕无码乱码人妻日韩精品| 中文天堂在线视频| 全黄性性激高免费视频| 亚洲天堂开心观看| 亚洲日本伊人| 欧美精品在线视频| 精品一区二区三区人妻| 午夜剧场免费在线观看| 视频在线一区| 国产精品免费成人| 美女国产精品| 男男激情在线| 久久精品成人av| 亚洲成人久久电影| 国产性生活网站| 国产成人亚洲精品乱码在线观看| 国产毛片久久久久久久| 136国产福利精品导航| 成人免费影院| 亚洲精品福利免费在线观看| 日本道免费精品一区二区三区| 粉嫩av一区二区三区四区五区| 日韩女优一区二区| 好看的中文字幕在线播放| 黄色激情视频网址| 成人免费在线观看网站| 婷婷在线视频| 亚洲男人都懂的网站| 欧美白人猛性xxxxx交69| 北岛玲一区二区| 中文字幕91| 天堂a√中文在线| 国产综合动作在线观看| 99精品热视频只有精品10| 日日骚av一区二区| 国产精品久久久久久亚洲毛片| 污视频在线看网站| 18黄暴禁片在线观看| www.久久视频| 欧美精品久久久久| 成熟了的熟妇毛茸茸| 亚洲福利视频二区| 欧美理论电影在线观看| 成人高清电影网站| 天天视频天天爽| 亚洲欧美偷拍一区| 亚洲欧美一区二区三区久久| 日韩中文字幕在线播放| 男人天堂亚洲| 久久精品视频亚洲| 麻豆精品av| 人妻无码一区二区三区久久99| 69av在线播放| 六月激情综合网| 中文字幕第31页| 成年人网站免费观看| 欧美激情在线一区二区三区| 国产精品久久久免费视频| 精品激情国产视频| 欧美激情综合在线| 亚洲欧美综合在线精品| 亚洲综合激情五月| 成人免费观看av| 国产中文一区| 国产永久免费高清在线观看视频| 亚洲成人免费av| av日韩免费电影| 97精品在线视频| 在线精品一区| 成熟妇人a片免费看网站| 亚洲美女精品成人在线视频| 欧美裸体bbwbbwbbw| 免费国产h视频在线观看86| 欧美a级网站| www黄色网址| 亚洲尤物在线视频| 色婷婷av金发美女在线播放| 日本天堂在线| jizz日本免费| www.999av| 国产婷婷在线视频| 加勒比久久综合| 精品久久久影院| 1024在线看片| 992kp免费看片| 欧美激情18p| 欧美精品色网| 粉嫩高潮美女一区二区三区| 欧美日韩一级视频| 日韩欧美综合视频| 亚洲精品中文字幕成人片| 97影院理论午夜| 97香蕉超级碰碰久久免费的优势| 丁香五精品蜜臀久久久久99网站| 一区二区三区播放| 色婷婷综合久久久中文一区二区| 亚洲午夜18毛片在线看| 国产精品久久占久久| 国产精品传媒入口麻豆| 四虎精品影院在线观看视频| 9国产精品午夜| 中文字幕久热精品视频免费| 欧美日韩综合在线观看| 女同激情久久av久久| 日韩电影网在线| 农村少妇一区二区三区四区五区| 日韩av一卡二卡三卡| 国产精品一区二区久久国产| 精品无码人妻一区| 蜜桃视频久久一区免费观看入口| 欧美人与牛zoz0性行为| 亚洲日穴在线视频| 亚洲色图美腿丝袜| 久久精品日产第一区二区三区高清版| 亚洲第一视频区| 国产精品日本欧美一区二区三区| 亚洲熟妇无码一区二区三区导航| 精品调教chinesegay| 俺也去.com| 日韩精品视频在线| 美国欧美日韩国产在线播放| av先锋影音少妇| 一区二区三区视频免费视频观看网站| 天天干,夜夜爽| 亚洲国产成人va在线观看天堂| 免费看男男www网站入口在线| 91福利国产在线观看菠萝蜜| 国产区高清在线| 国产自产2019最新不卡| 极品美乳网红视频免费在线观看| 色综合伊人色综合网站| 亚洲欧洲综合另类在线| 亚洲黑丝一区二区| 亚洲综合一区在线| 波多野结衣欧美| 欧美精品videos另类| 超碰97网站| 久久久国产成人精品| 伊人免费视频二| 欧美网站在线| 国产小视频你懂的| 影音先锋欧美资源| 美美女免费毛片| 麻豆久久久9性大片| 成人在线免费视频观看| 国产精品免费久久久| 欧美伊人久久久久久午夜久久久久| 午夜精品久久久久久毛片| 99久久精品免费观看国产| 你懂的视频在线播放| 国产亚洲精品免费| 亚洲欧美日韩综合aⅴ视频| www.狠狠爱| 久久综合色鬼综合色| 麻豆极品一区二区三区| 成人av一区二区三区在线观看| 免费一二一二在线视频| 国产麻豆a毛片| 好吊色欧美一区二区三区视频| 美女精品一区最新中文字幕一区二区三区| 欧美激情国内偷拍| 成人欧美一区二区三区视频| 综合成人在线| 亚洲欧美国产日韩中文字幕| aaa级黄色片| 日韩欧美不卡在线| 法国空姐在线观看免费| 欧美三级蜜桃2在线观看| 国产精品久久久久久久久久直播| 中文字幕欧美日本乱码一线二线| 国产精品久久一区二区三区不卡| 日韩高清中文字幕一区| 欧美一区二区三区久久综| 美女在线观看视频一区二区| 成人精品久久| 最近中文字幕免费视频| 色婷婷av一区二区三| 日韩视频一区二区三区| 亚洲国产精品毛片av不卡在线| 一级毛片aaaaaa免费看| 日韩免费电影一区二区三区| 99久久国产综合精品女不卡| 不卡一区二区三区四区| 18成人在线| 天天草天天草| 国产日韩一级二级三级| 一个人在线视频免费观看www| 可以免费看av的网址| 先锋在线亚洲| 成人av在线资源网站| 亚洲一区二区三区四区不卡|