亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

MySQL全表掃描生命周期解析:從觸發(fā)到收尾的完整路徑

MySQL全表掃描生命周期解析:從觸發(fā)到收尾的完整路徑 晚上十一點(diǎn)半線上訂單庫的 CPU 突然飆到 80%一條 select 把整張訂單表從第一個(gè)數(shù)據(jù)頁一路啃到最后一個(gè)數(shù)據(jù)頁慢查詢?nèi)罩纠锛t得刺眼。這種場面我接過不少每次排查到最后原因往往不在 SQL 語法上而在于沒把這條 SQL 的生命周期給看透。MySQL 里一次全表掃描并不是“掃全表”三個(gè)字就能概括的它從觸發(fā)到執(zhí)行再到收尾中間要過優(yōu)化器、存儲(chǔ)引擎、Buffer Pool、排序臨時(shí)文件好幾道關(guān)任何一道環(huán)節(jié)出了問題結(jié)果都是大量無用 IO 和 CPU 空轉(zhuǎn)。今天這篇就把全表掃描的四段生命周期——觸發(fā)、決策、執(zhí)行、收尾——一節(jié)一節(jié)切開講清楚每一步 MySQL 內(nèi)部到底在做什么、為什么這么做、哪些環(huán)節(jié)最容易翻車。適合剛接觸 MySQL 性能調(diào)優(yōu)的開發(fā)者、被慢查詢反復(fù)折磨的運(yùn)維以及所有想知道“一條 select 到底經(jīng)歷了什么”的人。1. 哪些 SQL 會(huì)把 MySQL 逼成全表掃描六大高發(fā)場景全表掃描不是隨機(jī)發(fā)生的絕大多數(shù)時(shí)候是優(yōu)化器在“沒得選”或者“不想選”的情況下做出的決定。我整理了自己在生產(chǎn)環(huán)境里見過的高發(fā)場景按出現(xiàn)頻率排個(gè)序你對照自己的慢查詢?nèi)罩究椿灸軐ι稀?.1 條件列沒有索引最常見也最直白這是最基礎(chǔ)的情況。where條件里的列既不在主鍵上也沒有普通索引優(yōu)化器想走索引都找不到路只能從聚簇索引的第一個(gè)葉子節(jié)點(diǎn)開始把整棵 B 樹的所有葉子節(jié)點(diǎn)全量讀一遍。-- user_phone 列沒有索引 SELECT * FROM users WHERE user_phone 13800138000;這種 SQL 執(zhí)行的時(shí)候InnoDB 不知道哪一頁里有這個(gè)手機(jī)號(hào)只能把整張表的所有數(shù)據(jù)頁都翻一遍期間Handler_read_rnd_next這個(gè)狀態(tài)變量會(huì)飆升它統(tǒng)計(jì)的就是“隨機(jī)讀下一頁”的次數(shù)在全表掃描場景下基本等于表里的行數(shù)。1.2 隱式類型轉(zhuǎn)換導(dǎo)致索引失效這個(gè)是我見過最冤枉的坑。表的字段是 varchar但你傳入的參數(shù)是數(shù)字MySQL 會(huì)把字段列本身轉(zhuǎn)成數(shù)字再比較函數(shù)一作用在列上索引就廢了。-- mobile 列是 varchar(20)索引建得好好的 SELECT * FROM users WHERE mobile 13912345678;MySQL 的隱式轉(zhuǎn)換規(guī)則里字符串和數(shù)字比較時(shí)會(huì)把字符串轉(zhuǎn)成浮點(diǎn)數(shù)相當(dāng)于執(zhí)行了CAST(mobile AS DOUBLE)。一旦索引列被函數(shù)包裹優(yōu)化器就知道這個(gè)索引沒法用了老老實(shí)實(shí)全表掃。想要驗(yàn)證很簡單EXPLAIN一眼就能看出來type 從ref變成ALL同時(shí)extra里可能出現(xiàn)Using where。1.3 條件列上套了函數(shù)或計(jì)算這個(gè)比隱式轉(zhuǎn)換更明顯但也經(jīng)常有人忽略SELECT * FROM orders WHERE DATE(created_at) 2024-06-01;created_at上就算有索引也用不上因?yàn)閮?yōu)化器無法對這個(gè)表達(dá)式做范圍推導(dǎo)。標(biāo)準(zhǔn)的解法是改成范圍查詢created_at 2024-06-01 AND created_at 2024-06-02這樣既保留索引起始點(diǎn)又能利用索引的范圍掃描能力。1.4 LIKE 前置通配符%開頭的模糊查詢like abc%還能走索引因?yàn)榍熬Y是確定的B 樹可以根據(jù)前三個(gè)字符定位。但like %abc%沒有任何前綴信息索引樹的節(jié)點(diǎn)順序幫不上忙優(yōu)化器只能認(rèn)為全表掃描更劃算。1.5 優(yōu)化器判斷“索引不如全表掃”小表場景很多剛?cè)腴T的同學(xué)看到EXPLAIN結(jié)果是ALL就慌其實(shí)不用。如果一張表只有 200 行InnoDB 讀完整張表也就三五個(gè)數(shù)據(jù)頁還是順序讀。這種情況下要走索引反而要多一次回表操作CPU 成本和隨機(jī) IO 成本全上去了優(yōu)化器不傻它會(huì)果斷選擇全表。MySQL 的這個(gè)判斷依據(jù)是成本模型8.0 里SERVER和ENGINE兩套成本表都可以自定義默認(rèn)配置下順序讀一個(gè)數(shù)據(jù)頁的成本是 1.0隨機(jī)讀是 4.0memory_block_read_cost為 0.25。當(dāng)表特別小而索引回表代價(jià)高時(shí)全表掃描的估算成本反而最低。1.6 OR 連接條件且其中一個(gè)分支無索引SELECT * FROM orders WHERE status 1 OR amount 10000;如果status有索引而amount沒有優(yōu)化器沒法對兩條分支分別走索引再合并結(jié)果因?yàn)閍mount 10000這個(gè)分支只能全表掃。最終 MySQL 會(huì)直接選擇全表掃描整張表因?yàn)闊o論如何都要涉及全量判斷。這種 SQL 改造思路是把OR拆成兩個(gè)查詢再UNION寫起來麻煩但效果立竿見影。2. 優(yōu)化器是怎么“拍板”選全表掃描的成本模型與估算邏輯很多人以為“全表掃描”是執(zhí)行的時(shí)候臨時(shí)決定的其實(shí)不是。真正拍板的是優(yōu)化器它在解析完 SQL 之后、執(zhí)行之前就用一套成本模型把所有執(zhí)行方案都算了一遍然后挑一個(gè)“算下來最便宜”的。2.1 成本模型的兩個(gè)關(guān)鍵角色I(xiàn)O 成本和 CPU 成本MySQL 8.0 里成本估算被拆成兩部分。IO 成本指的是讀取數(shù)據(jù)頁的開銷CPU 成本指的是每行數(shù)據(jù)做條件判斷、投影操作時(shí)消耗的 CPU 周期。兩張成本字典表server_cost和engine_cost存在mysql庫下我一般會(huì)查一遍確認(rèn)生產(chǎn)環(huán)境的成本參數(shù)是不是默認(rèn)值SELECT * FROM mysql.engine_cost; SELECT * FROM mysql.server_cost;默認(rèn)情況下InnoDB 里順序讀取一個(gè)數(shù)據(jù)頁的成本是 1.0隨機(jī)讀取是 4.0而每處理一行數(shù)據(jù)的 CPU 成本是 0.1 左右。全表掃描走的是聚簇索引的葉子節(jié)點(diǎn)鏈本質(zhì)上是順序讀所以它的 IO 成本約等于“總頁數(shù) × 1.0”這個(gè)數(shù)字在各種執(zhí)行方案里通常是最穩(wěn)定的。2.2 行數(shù)估算一切決策的地基卻可能虛高全表掃描的成本估算依賴于一個(gè)關(guān)鍵輸入表里大概有多少行、涉及多少個(gè)數(shù)據(jù)頁。聽起來簡單實(shí)際很坑。InnoDB 對這些行數(shù)的統(tǒng)計(jì)來自統(tǒng)計(jì)采樣information_schema.tables里的TABLE_ROWS是預(yù)估值不是精確值。它通過隨機(jī)抽取幾個(gè) B 樹索引頁除以采樣比例推算出來的誤差在 10% 到 20% 很正常。更麻煩的是如果這張表的大多數(shù)行已經(jīng)被刪除但空間沒被回收統(tǒng)計(jì)信息里記錄的頁面數(shù)量不會(huì)立刻減少優(yōu)化器會(huì)認(rèn)為這張表還有很多頁要讀從而在多個(gè)執(zhí)行方案里把全表掃描估得更貴。反過來也有問題如果一張表的統(tǒng)計(jì)信息很久沒更新實(shí)際上已經(jīng)膨脹了幾倍優(yōu)化器卻按老數(shù)據(jù)估算誤以為全表掃描很便宜照樣選全表。所以運(yùn)維上有個(gè)習(xí)慣我一直保留對頻繁批量刪除、大批量導(dǎo)入的表定期執(zhí)行ANALYZE TABLE刷新統(tǒng)計(jì)信息避免優(yōu)化器拿著過期的“地圖”做路線規(guī)劃。2.3 eq_range_index_dive_limit一個(gè)參數(shù)如何影響索引選擇MySQL 在估算“等值查詢能命中多少行”時(shí)有兩種方式。當(dāng)where條件里的等值數(shù)量小于等于eq_range_index_dive_limit默認(rèn) 200時(shí)優(yōu)化器會(huì)實(shí)際去索引里“潛水”統(tǒng)計(jì)每個(gè)等值對應(yīng)的記錄數(shù)如果大于 200就改用索引的基數(shù)估算。這個(gè)細(xì)節(jié)對全表掃描的決策影響很大。曾經(jīng)有同事在張大表上跑一條IN (幾百個(gè)值)的查詢優(yōu)化器因?yàn)榈戎禂?shù)量超過閾值改用基數(shù)估算把某個(gè)索引的選擇性估得過高反倒選擇了全表掃描其他條件列。排查時(shí)調(diào)大eq_range_index_dive_limit再重新跑執(zhí)行計(jì)劃立刻變成走索引。2.4 優(yōu)化器追蹤讓決策過程無所遁形光知道結(jié)論不夠我還想看看優(yōu)化器到底是怎么算的這時(shí)候就用optimizer_trace。開啟之后MySQL 會(huì)把優(yōu)化器考慮過的每個(gè)方案、每一筆成本都記錄成 JSONSET SESSION optimizer_traceenabledon; EXPLAIN SELECT * FROM orders WHERE status 1; SELECT * FROM information_schema.OPTIMIZER_TRACE\G輸出里有rows_estimation和considered_execution_plans能看到“為什么選了全表掃描”的完整賬本。有一次排查一條明明有條件卻全表掃的 SQL就是這個(gè) trace 告訴我優(yōu)化器在該條件列的統(tǒng)計(jì)信息里看到“超過一半的行都滿足這個(gè)條件”算下來走索引回表的成本比全表還高這才放下了心。3. InnoDB 執(zhí)行掃描時(shí)到底在忙什么預(yù)讀、快照讀與鎖的糾纏優(yōu)化器拍板之后執(zhí)行器開始調(diào)用 InnoDB 的接口正式干活。這一階段是生命周期里最核心的一段也是 CPU 和 IO 壓力真正起來的地方。很多人以為全表掃描就是把數(shù)據(jù)頁挨個(gè)讀一遍實(shí)際沒這么簡單。3.1 掃描起點(diǎn)聚簇索引葉子節(jié)點(diǎn)鏈InnoDB 的表本身是一棵以主鍵為 key 的 B 樹葉子節(jié)點(diǎn)存整行數(shù)據(jù)。全表掃描就是從這棵樹的最左葉子節(jié)點(diǎn)開始順著葉子節(jié)點(diǎn)之間的雙向鏈表一路往右讀讀到最右端再結(jié)束。如果你建的是普通索引情況會(huì)復(fù)雜一些。比如select * from t where name like %xxx%優(yōu)化器如果選擇掃普通索引的 B 樹雖然每個(gè)葉子節(jié)點(diǎn)里存的不是整行而是索引列 主鍵值掃描的數(shù)據(jù)量更小但因?yàn)椴榈氖?每條記錄都要根據(jù)主鍵回聚簇索引取完整行——這個(gè)“回表”操作可能引起大量隨機(jī) IO。所以很多情況下優(yōu)化器寧可直接掃聚簇索引省掉回表環(huán)節(jié)。3.2 預(yù)讀機(jī)制MySQL 提前把“還沒用到”的頁搬進(jìn) Buffer Pool順序掃描葉子節(jié)點(diǎn)時(shí)InnoDB 不會(huì)一個(gè)頁一個(gè)頁地讀它有一個(gè)很聰明的預(yù)讀機(jī)制。MySQL 8.0 里默認(rèn)開啟線性預(yù)讀innodb_read_ahead_threshold默認(rèn)是 56意思是如果 InnoDB 檢測到正在順序讀取某個(gè)數(shù)據(jù)文件中的連續(xù) 56 個(gè)頁就會(huì)異步發(fā)起額外 IO把后續(xù)的更多頁提前加載到 Buffer Pool 里。這個(gè)機(jī)制讓全表掃描的“順序讀”變得非常高效但也帶來一個(gè)副作用Buffer Pool 會(huì)被掃描進(jìn)來的頁大量占用把業(yè)務(wù)經(jīng)常訪問的熱點(diǎn)數(shù)據(jù)頁擠出去。我見過一次性select *跑完把整個(gè) Buffer Pool 的命中率從 99% 砸到 70% 的案例。所以大表掃描之后show status like Innodb_buffer_pool_read_hit_rate這個(gè)指標(biāo)務(wù)必盯一眼掉得太快就該考慮給掃描任務(wù)加限流或者把 Buffer Pool 里的 LRU 鏈表按 young 和 old 區(qū)域的比例調(diào)一下。3.3 一致性快照讀掃描過程中為什么看不到別的事務(wù)的修改全表掃描期間別的會(huì)話可能正在 insert、update、delete但掃描看到的卻是一個(gè)“凍結(jié)在某一時(shí)刻”的數(shù)據(jù)視圖。這靠的是 MVCC多版本并發(fā)控制和 undo log 的配合。當(dāng)這條 select 開啟事務(wù)并執(zhí)行第一次讀時(shí)InnoDB 會(huì)生成一個(gè) ReadView里面記錄了當(dāng)前活躍事務(wù)的 ID。掃描過程中每讀到一行數(shù)據(jù)InnoDB 會(huì)比較該行記錄上的事務(wù) ID 和 ReadView 里的快照信息如果該行的最新版本事務(wù) ID 在 ReadView 的活躍事務(wù)列表里說明這行正在被別的事務(wù)修改InnoDB 會(huì)順著 undo log 往前找到該行在快照時(shí)點(diǎn)的舊版本返回舊值如果修改事務(wù)已經(jīng)提交而且提交時(shí)刻比快照更晚同樣需要從 undo log 里取舊版本。這就是一個(gè)長期跑著的全表掃描為什么會(huì)導(dǎo)致 undo log 膨脹的原因——它一直占著舊版本其他事務(wù)提交后更新產(chǎn)生的 undo 信息不能及時(shí)清理undo tablespace越占越大甚至把磁盤塞滿。掃描時(shí)間越長這個(gè)風(fēng)險(xiǎn)越大。3.4 掃描會(huì)不會(huì)鎖住整張表鎖粒度帶來的錯(cuò)覺全表掃描不等于全表加鎖。默認(rèn)的REPEATABLE READ隔離級(jí)別下這條 select 走的是一致性非鎖定讀它通過 MVCC 讀快照不需要對掃描過的行加共享鎖。所以你跑一條大掃描并不能阻止別人更新數(shù)據(jù)。但如果這條 select 寫成了select ... for update或者lock in share mode事情就不一樣了。InnoDB 會(huì)在掃描過程中對每一行加鎖而且在REPEATABLE READ下為了避免幻讀它還會(huì)對掃描范圍內(nèi)的間隙加 gap lock導(dǎo)致區(qū)間內(nèi)其他事務(wù)的插入被阻塞。更糟的是MySQL 的加鎖行為是按掃描過程逐行鎖定的掃描到哪一行鎖就加到哪一行并不是一次性鎖全表但最終效果上其他事務(wù)往這張表插入數(shù)據(jù)的動(dòng)作會(huì)大面積受阻。這就是為什么我在生產(chǎn)環(huán)境特別忌諱對線上大表直接執(zhí)行select * from ... for update去“導(dǎo)出數(shù)據(jù)”看起來只讀實(shí)際會(huì)對后續(xù)寫入造成強(qiáng)烈的鎖競爭。4. 掃描完成后數(shù)據(jù)去了哪里臨時(shí)表、排序與結(jié)果返回全表掃描把行撈出來之后生命周期并沒有結(jié)束。如果需要排序、去重、分組MySQL 還得在內(nèi)存或磁盤上做二次加工然后才通過 MySQL 協(xié)議把結(jié)果集推送給客戶端。這一段的損耗往往被低估。4.1 排序的三層路徑內(nèi)存排序到磁盤歸并order by是全表掃描伴侶。掃描出來的數(shù)據(jù)往往不是最終順序MySQL 需要排序。排序優(yōu)先使用sort_buffer_size默認(rèn) 256KB這塊內(nèi)存。如果待排序數(shù)據(jù)量不大直接在內(nèi)存里做快速排序一條 SQL 就跑完了。一旦數(shù)據(jù)量超過 sort buffer 的容量MySQL 就把數(shù)據(jù)分塊每排好一塊就寫到磁盤臨時(shí)文件最后再把多個(gè)有序分塊做歸并排序。歸并過程會(huì)額外讀寫臨時(shí)文件IO 影響比想象中大得多。遇到大結(jié)果集的order by我習(xí)慣觀察SHOW STATUS LIKE Sort_merge_passes這個(gè)值如果大于 20說明排序大量走了磁盤臨時(shí)文件光排序這一項(xiàng)就把 SQL 拖垮了。4.2 Filesort 還是索引排序優(yōu)化器怎么選如果order by的字段正好是索引列InnoDB 掃描索引本身就是有序的根本不需要額外排序這就是Using index優(yōu)化。但如果排序字段不在索引上或者order by和where條件用了不同的索引優(yōu)化器只能在掃描完之后再做 filesort。這里有個(gè)典型的決策場景where status 1 order by created_at。如果 status 選擇性差走 status 索引掃描大量行再按 created_at 文件排序可能比直接全表掃描 文件排序更慢。優(yōu)化器會(huì)把兩條路徑的成本都算一遍最終選便宜的那個(gè)。從這個(gè)角度說某些“全表掃描 filesort”的執(zhí)行計(jì)劃其實(shí)是優(yōu)化器在兩害相權(quán)之后的理性選擇。4.3 臨時(shí)表分組和去重的隱形成本group by、distinct、union這類操作往往都會(huì)涉及臨時(shí)表。老版本的 MySQL 會(huì)把臨時(shí)表建在磁盤的 tmpdir 上磁盤臨時(shí)表沒有索引數(shù)據(jù)量一大查詢只能反復(fù)全表掃臨時(shí)表速度雪崩。MySQL 8.0 有個(gè)重要改進(jìn)臨時(shí)表統(tǒng)一使用 TempTable 引擎先在內(nèi)存里維護(hù)內(nèi)存占用超過temptable_max_ram默認(rèn) 1GB以后才轉(zhuǎn)磁盤。但這不意味著你可以無限制地在內(nèi)存里跑大分組轉(zhuǎn)磁盤依賴tmpdir所在文件系統(tǒng)的 IO 性能如果 tmpdir 和業(yè)務(wù)數(shù)據(jù)在同一塊普通磁盤上競爭會(huì)非常明顯。我一般會(huì)把 tmpdir 指向 tmpfs但前提是確認(rèn)服務(wù)器內(nèi)存足夠別把系統(tǒng)擠爆。4.4 把結(jié)果發(fā)給客戶端網(wǎng)絡(luò) IO 也可能是瓶頸全部加工完之后MySQL 通過協(xié)議把結(jié)果集的每一行發(fā)送給客戶端這一階段消耗的網(wǎng)絡(luò) IO 也是全表掃描生命周期的一部分。Net_send相關(guān)狀態(tài)變量統(tǒng)計(jì)了發(fā)送等待時(shí)間如果客戶端接收速度慢MySQL 的服務(wù)線程會(huì)一直掛著。這就是為什么我一直強(qiáng)調(diào)select *全表掃描加limit也不能盲目樂觀。limit 10看起來只返回 10 行但如果前 10 行要等掃描到表尾才能確定——比如order by一個(gè)非索引字段——那前面所有數(shù)據(jù)還是得掃完算完limit只影響“發(fā)送多少行”不影響“內(nèi)部掃描多少行”。5. 一次完整全表掃描的現(xiàn)場還原從 EXPLAIN 到狀態(tài)變量把前面幾段串起來我用一條典型 SQL 走一遍全流程。假設(shè)有一張 500 萬行的訂單表結(jié)構(gòu)大致是這樣CREATE TABLE orders ( id BIGINT PRIMARY KEY, user_id INT, status TINYINT, amount DECIMAL(10,2), created_at DATETIME, KEY idx_user_id (user_id) ) ENGINEInnoDB;業(yè)務(wù)端報(bào)了一個(gè)慢查詢SELECT COUNT(*) FROM orders WHERE status 1;status 沒有索引。我的排查鏈路是這樣一步步展開的。第一步看執(zhí)行計(jì)劃EXPLAIN SELECT COUNT(*) FROM orders WHERE status 1;結(jié)果里type ALL、rows 520萬左右、extra是Using where。這說明優(yōu)化器選擇了全表掃描掃描過程中對每一行做 status 條件過濾只計(jì)數(shù)符合條件的數(shù)據(jù)。第二步查實(shí)際執(zhí)行代價(jià)。通過 optimizer trace 能看到全表掃描的成本組成500 萬行數(shù)據(jù)大約占了 8 萬個(gè)數(shù)據(jù)頁IO 成本 80000 × 1.0CPU 成本 500萬 × 0.1全表掃描總成本估算比“掃 idx_user_id 索引再回表”低了幾個(gè)量級(jí)因?yàn)?status 條件沒有可用的二級(jí)索引。這就徹底解釋了優(yōu)化器的選擇它沒有“犯錯(cuò)”是結(jié)構(gòu)上就沒有優(yōu)化空間。第三步觀測執(zhí)行期的狀態(tài)變化。開一個(gè)會(huì)話不斷采樣SHOW GLOBAL STATUS LIKE Innodb_pages_read; SHOW GLOBAL STATUS LIKE Handler_read_rnd_next; SHOW GLOBAL STATUS LIKE Select_scan;運(yùn)行期間Handler_read_rnd_next從幾萬漲到幾百萬Innodb_pages_read也在持續(xù)攀升說明確實(shí)在逐頁讀數(shù)據(jù)。SQL 跑完后這幾個(gè)數(shù)字的增長量基本可以估算出本次掃描的頁數(shù)與行數(shù)分析慢查詢時(shí)很有用。第四步看收尾階段的狀態(tài)。如果 SQL 里帶排序或分組重點(diǎn)關(guān)注Sort_merge_passes、Created_tmp_disk_tables這些計(jì)數(shù)。這條COUNT(*)沒有排序需求所以這些指標(biāo)沒有變化說明它的生命周期止步于“掃描 過濾計(jì)數(shù)”沒有再往下游流轉(zhuǎn)。整個(gè)還原下來這條 SQL 的瓶頸清晰可見status沒有索引優(yōu)化器只能全表。要解決它方案是在status上建索引讓優(yōu)化器可以走二級(jí)索引掃描。但注意如果 status 分布很集中比如 99% 的行都是 status 1優(yōu)化器建了索引也可能仍然選全表因?yàn)閽叨?jí)索引再回表取數(shù)據(jù)確實(shí)沒有全表順序讀劃算。到時(shí)候你EXPLAIN看到的還是一個(gè)ALL別慌這是正常行為加索引的意義在于等值查詢能精準(zhǔn)定位到那一小撮不同的值。6. 常見問題速查這幾種“全表掃描”根本不用管排查多了之后你會(huì)發(fā)現(xiàn)并不是所有全表掃描都需要治理。區(qū)分“該治”和“不該治”的邊界比見一個(gè)殺一個(gè)重要得多。6.1 明確不該治理的三種情況第一單表數(shù)據(jù)量只有幾千行且查詢條件返回結(jié)果集很大。比如一張配置表本來就 300 行全表掃描的成本和走索引回表的成本差距可以忽略甚至全表掃描更優(yōu)。這種情況下EXPLAIN里的ALL不值得花時(shí)間。第二OLAP 場景里的統(tǒng)計(jì)報(bào)表比如每天凌晨執(zhí)行的匯總查詢本來就要掃描幾百萬行做聚合。建索引對這類查詢沒有意義它的核心訴求是讓掃描盡量順、盡量少占用業(yè)務(wù)高峰期資源。第三select count(*) from t這類無過濾條件的計(jì)數(shù)查詢。InnoDB 8.0 仍然需要逐行數(shù)因?yàn)?MVCC 導(dǎo)致每一行對每個(gè)事務(wù)的可見性可能不同它不可能像 MyISAM 那樣存一個(gè)計(jì)數(shù)器直接返回。所以別看不起它它掃描全表是生存需要不是優(yōu)化器偷懶。6.2 全表掃描類慢查詢的排查清單遇到真的需要治理的全表掃描我一般按這個(gè)順序排查先確認(rèn)條件列有沒有索引show index from table一眼的事。再確認(rèn)有沒有隱式類型轉(zhuǎn)換。用EXPLAIN看type和key再看表結(jié)構(gòu)字段類型與傳參類型是否一致。用optimizer trace確認(rèn)優(yōu)化器不是“被迫”選擇全表掃描。如果是統(tǒng)計(jì)信息不準(zhǔn)執(zhí)行ANALYZE TABLE刷新??磼呙钑r(shí)有沒有把 Buffer Pool 沖垮。掃描后抽查Innodb_buffer_pool_read_hit_rate如果明顯低于 95%建議要么給掃描任務(wù)錯(cuò)峰要么考慮用備份庫跑分析查詢。看排序、分組、臨時(shí)表環(huán)節(jié)是否額外放大損耗。Sort_merge_passes和Created_tmp_disk_tables是重點(diǎn)檢查對象。6.3 一個(gè)容易忽略的坑全表掃描在 binlog 和主從復(fù)制下的后果全表掃描的 SQL 本身不改數(shù)據(jù)但它可能引發(fā)后續(xù)的數(shù)據(jù)變更操作放慢間接影響復(fù)制。前面講過長事務(wù)占著舊版本的 undo log 不釋放從庫的復(fù)制線程如果也跑了一個(gè)長查詢主庫的 binlog 在從庫執(zhí)行時(shí)會(huì)因?yàn)殒i等待而滯后主從延遲就是這么拖出來的。所以生產(chǎn)環(huán)境我有一條鐵律大查詢要么走只讀從庫或分析庫要么在低峰期執(zhí)行。線上主庫的 Buffer Pool 和 undo 資源經(jīng)不起長掃描反復(fù)蹂躪。6.4 工具與命令速查調(diào)試和復(fù)盤時(shí)這幾條命令是我最常用的直接貼出來# 查看當(dāng)前正在執(zhí)行的 SQL重點(diǎn)看 Time 列 SELECT * FROM information_schema.processlist WHERE command ! Sleep; # 統(tǒng)計(jì) SQL 語句維度的掃描行數(shù)和耗時(shí) SELECT digest_text, sum_rows_examined, sum_rows_sent, count_star FROM performance_schema.events_statements_summary_by_digest ORDER BY sum_rows_examined DESC LIMIT 20; # 全表掃描沖突的鎖等待來源 SELECT * FROM sys.innodb_lock_waits;用 performance_schema 的 digest 表定位高頻全表掃描比翻慢查詢?nèi)罩靖煲驗(yàn)槁罩局挥涗洺^閾值的個(gè)別語句而 digest 表能按模板聚合直接排出“最費(fèi)行”的 TOP20 語句。7. 一點(diǎn)私貨我對全表掃描的重新認(rèn)識(shí)早幾年我有一個(gè)很暴力的執(zhí)念慢查詢?nèi)罩纠锍霈F(xiàn)ALL等于事故必須先加索引再說。后來看多了才發(fā)現(xiàn)全表掃描不只是“性能事故”它也是一種能力。MySQL 在數(shù)據(jù)量不大的場景下用順序讀高效地解決問題在無法用索引的情況下保證查詢?nèi)匀荒軋?zhí)行這套機(jī)制本身設(shè)計(jì)得并不差。真正值得注意的是那些因?yàn)椤霸O(shè)計(jì)缺陷”而被迫全表掃描的查詢——索引失效、統(tǒng)計(jì)信息過期、SQL 寫法不規(guī)范。每一次這種掃描都是對存儲(chǔ)引擎資源的一次無差別暴力讀取短期看是某一條 SQL 慢了長期看它擠占 Buffer Pool、膨脹 undo log、拖累主從同步是系統(tǒng)性風(fēng)險(xiǎn)的積累。我個(gè)人這幾年把排查慢 SQL 的習(xí)慣固定成了三層第一層看執(zhí)行計(jì)劃第二層看 optimizer trace 的賬本第三層看狀態(tài)變量和 performance_schema。每一條異常的全表掃描都會(huì)走一遍這三步找到它從觸發(fā)到執(zhí)行再到收尾的完整生命周期問題基本就能定死。我希望這套方法論對你也有用下次再被慢查詢喊起來的時(shí)候至少你手上有一把解剖刀能像庖丁解牛那樣順著紋理下刀而不是一刀剁下去。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲人在线| 欧美色吧综合| 99操逼| 国产偷人伦激情在线观看| 欧美一品道| 18精品一区| 综合 欧美 亚洲 日本| 亚洲国产综合图区中文字幕| 亚洲欧美内射| 老熟妇一区二区三区| 久九干| 九九99久久| 很黄很色的视频在线观看| 夜夜爽夜夜操| 国产美女自拍视频| 麻豆av一区二区| 精彩久久中文| 久草老司机| 动漫区日韩区欧美区| 久久久噜噜噜久久久| 五月丁香| 久久极品一区二区| 女同在线视频一区| 狠狠中文字幕| 伊人97色天使| 超碰97色色| 少妇与黑人高潮在线| 亚洲欧美一区二区三区在钱蜜桃| 9九九九九视频在线观看| 操逼逼无码| 国产日韩精品人妻久久久久色欲网站| 欧美亚洲色图另类国产| 精品亚洲国产成人av网站| 国内精品嫩模A∨私拍小视频| 久久久久少妇| 日韩欧美亚洲自拍偷拍| ,成人免费啪啪视频| 26uuu最新| 色色毛片| 欧美一区二区三区入口| 精品无码不卡视频| 最近2019中文字幕国语免费版| 日韩卡一卡二卡三在线| 激情小说成人日本无码一| 午夜亚洲国产理论秋霞| 玖玖资源综合在线视频| 色婷婷在线视频| 亚洲另类久操网| 久久超碰、| 超碰中文字幕人妻草一区| 诱惑人妻欧美一区在线播放| 日本天天干天天日一区| 国产精品久久久亚洲第一牛牛_在线观看| 91日日夜夜| 亚洲在线综合| 日韩综合色图| 秋霞一级A片黄色视频| 涩综合导航| 亚洲导航深夜福利| 伊人五月天| 韩国轻伦国内自拍一区| 一区超碰一区| 日本熟女不卡视频| 把腿张开老子CAO烂你| 久久HD| 久操大香蕉手机视频在线看| 欧美日韩资源在线| 日韩精品影视| 五月天亚洲色图| 人妻9117c| 国产精品久久久久无码A√| 国产高潮AA片免费看| 日韩草久视频| 青青草一区二区三区四| 91精品人| 激情久久久| 91最新综合| 91欧美情色| 欧美一二三级精品在线| 日韩av乱伦| 欧美色图私拍91| 91熟女视频网| 制度丝袜99| 校园春色综合| 亚洲欧洲成人在线电影| 超碰人人超在线观看| 肥臀熟女福利视频一区二区| 33044男人的天堂深夜备| 欧美日韩在线视频网站| 性色一线| 啊v在线观看视频| 操逼天美3区| 一本一道人妻久久一区二区三区| 奶水 人妻 哺乳 在线| 大香蕉视频一二三区| 任你艹| 嗯嗯啊啊日韩精品| av爱爱爱| 福利风月五月天影院| 精品一区二区三区蜜桃| 国产精品久久久久久 百度| 按摩中文字幕| 欧美组图日韩亚洲中文字幕| 激情五月婷| 日本 情色 1区2区3区| 久久在线观看免费视频| 天天综合91在线| 丰满熟妇大乳做爰| 凸凹视频在线观看| 东北操逼| 男人高清无码一区二区| 大香蕉综合久久| 九九九九国产| 超91综合网| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 久久这里| 激情抓乳插进去啪啪啪日韩| 蜜桃久久久久久久久久久久| 亚洲精品三区在线观看| 午夜美女诱惑电源网| 肉嘟嘟www视频在线观看高清| 美女大乳久久久久久久女人18| 亚洲性天堂| 色9999日韩国产| 欧美极品少妇| 破苞ⅩXXX性无码动漫无码| 91天美传媒在线观看| 免费观看网黄| 懂色av中文字幕一区二区三区天美| 国产女同视频在线播放| 黄久久| 蜜乳av首页| 人妻人久久精品中文字幕| 亚洲无吗在线视频| 欧美极品| 色狠人在线99| 国产中文精品一区二区在线观看| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 日本123区操B视频| 超碰95| 激情文学欧美| 欧美一级A片在线看视频性色| 久久久999国产| 色五月av| 亚洲一区中文字幕一区| 亚洲成人ab| 综合网,亚洲,欧美| 性开放中文AV高清无码免费看| 91男同| 激情综合五月| 乱伦一区二区三区‘| 九草九九九| 99久久久| ji熟女.com| 欧美日韩国产色五月综合在线| AV综合中文字幕干| 中国操逼无码| 男人的天堂Va| 免费网站观看www在线观| 99国产精品视频尤物| 国产青青综合伊人| 色鬼在线综合| 思思热在线视频精品| 欧美色网| 欧美精品不卡一二三四在线91| 丁香六月激情| av婷婷色婷婷色六月| 亚洲不雅视频1区二区| 天天舔九色婷婷| 性爱乱伦一区| 国产精品视频自拍在线| 国产精品九九九| 久久久精品一区二区| 天天日天天插| 国产精选三级在线观看| 久久精品国产99精品亚洲蜜...| 91欧美少妇| 伊人国产av| 九九热在线视频| 最新三级网址| CCYY草草影院地址入口| 老妇女91| 亚洲天堂久久| 99久久久| 天天性射网| 国产高清不卡视频| 影音综合网| 爱射综合| 日本一级性爱| 午夜福利视频在线一区| 风流老熟女一区二区三区l| 男女猛烈无遮掩视频免费软件| 91美女视频直播| 五月天加勒比啪| 91超碰人人| www.色婷婷| 乱伦AVxx| 婷婷五月天色色| 欧美人妻久久精品二区三区| 狠狠操夜夜| 日本三级A片网站com| 亚洲九九九九| 蜜臀99久久精品久久久懂爱| 亚洲天堂男人天堂网| 日韩九九九| 亚洲中字慕不卡| 五月天激情视频| 亚洲国产成人精品无码专区| 亚洲图片婷婷五月天| 精品国产乱码久久| 桃花色综合影院| 欧美日韩97| 久久69| 天天综合色图| 亚洲欧美日韩偷拍色图| 亚州熟女乱伦| av无线看| 国产黄色 A 片免费看| 亚洲 自拍偷拍 欧美| 五月丁香六月综合缴清无码 | 激情文学小说一区二区| 九九九九亚洲| 一起草三级AV电影在线观看 | 影视综合无码少妇| 欧亚乱色熟女一区二区| 国产 码在线成人网站| 色色操| 91国产精品熟女| 大香蕉在线视频15| AV在线资源| 日韩三级性| 久久婷婷一区| 一级性爱视频免费观看| 一区二区三区探花在线观看| 亚洲图片偷拍视频区| 超碰人人干| 女色视频社区| 羞答答AV中文字| 男人的天堂久久久| 日韩免费看在线黄色片| 欧美日韩操逼嗦吊| 欧美专利1区2区3区4区5区免费| 成人精品视频一区二区| 啊啊啊操死我了| 蜜臀久久99精品久久久| 人人操人人摸人| 中文高清一区二区的| 超碰 av 女人天堂| 久久内射| 郑州宾馆老熟女露脸啪啪| 综合激情五月丁香| 亚洲91射| 久久欲| 精品少妇一区二区三区在线视频| 色狠狠综合噜一二三区| 99re99在线视频| 亚川综合视频| 无码免费一区二区三区啪啪| 久操影视| AⅤ片水多多| 97国产成人精品免费视频| 中文字幕视频2区| 亚洲极品| 日韩黄色av中文字幕| 日本色色色| 97超碰久久色| www.伪伪| 天天做天天爱天天爽AV| 高清孕妇孕交 交| 亚洲天堂7777| 青青国产在线拍揄自揄拍| 999国产精品999久久久久久| 亚一综合久久久久久久久久| 国产污视频麻豆传媒一区二区 | 久久久久人妻二区精品叶可怜| 久久人妻精品| 人妻蜜桃臀| 免费精品人妻一区二区三| 亚洲天堂中文字幕无码男同| 亚洲综合在线第一页| 欧美人妻一区| 日韩无码久久熟女一级片| 一区二区乱码福利| 精品 码产区一区二-1080P高清在线www-B029AV| 在线观看 99热| 国产精品点击进入在线影院| 人妻大相焦在线| 免费成人自拍视频在线| 丝袜喷水在线| 9国产超碰| 性站| 精品国产Av无码久久久亚洲| www老逼91| 欧美性天天| 大香交伊人网| 翔田千里AV无码秘 三区| 人妻久久久久久| 96超碰网| 丰满人妻一区二区三区在线| 可免费观看的av毛片中日美韩| 中文字幕 码精品视频网站| 亚洲综合草草| 欧美色婷婷| 欧美激情在线观看视频| 蜜臀久久99精品久久久老,,| 国产精品又黄又猛又粗| 久久婷婷欧美| 狠狠干狠狠色| 超碰97人妻在线| 成人AV素股で擦久久| 婷婷色综合欧美日韩| 德国一二三不卡| 日韩操逼性鲍| 超碰在线成人电影| 91在线综合网| 国产精品嫩草影院免费| 97在线/亚洲| 超碰 97国产熟女| 亚洲AV成人精品网站在AV| 精品美女在线视频| 综合久| 久久在线观看免费视频| 精品九九九九九九九九九| JIZZJIZZ国产精品喷水| 精品国产乱码久久| 9长久久精品| 操操碰| 99久久久久| 91精品久久久久| 青青草吊丝| 入口操逼网站| 少妇高潮流水av免费| 欧洲小说色图视频另类| 日本色婷婷| 黄视频免费| 久热99999| 国产伦精品免编号公布| 99re公开精品免费视频| 美女裸体无遮挡永久免费观看网站| 日韩激情视频| 久久色人体 | 少妇99成人麻豆| 久久五十路熟女人妻| 亚洲欧美校园| 无码久| 夜夜中出国产| 操婷婷逼| 人人艹亚洲| 国产精品夜夜| 97伊人超碰| 免费网站观看www在线观| 人人爱人人操人人性| 欧美精品宗合| 中文字幕在线观| 久久久九九| 啊啊啊好舒服好爽啊啊啊视频| 五月天色色网站| 国产精品一区二区校花| 在线a亚洲视频播放在线| 午夜福利一区二区三区四区五区色婷婷| 日韩免费人妻色情网站| 这里都是精品在线观看| 亚洲成人一区二区精品| 欧美日韩插逼视频| 亚洲无992tv| 美女91网| 亚洲高清欧美总合| 欧美日韩亚洲少妇寂寞影院正在播放 | 18岁禁 茉莉成人久久| 婷婷五月天小说| 欧美性爱五月天| 在线精品福利免费播放| 人妻系列无码专区中文有码| 午夜福利免费福利视频| 在线中文字幕极品av| 成人无码在线视频网站| 亚洲黄色视频在线观看视频| 久久久九九九| 精品综合久久久久久五月天| 被操高清无码视频| 中文字幕日韩精品久久| 天天插夜夜操| 岛国片国产成人亚洲播放| 美女操逼A A| 天天做天天爱夜夜爽毛片试看| 国产一国产一级毛片古装| 欧美色图综合网| 97超碰超| 91免费看一区二区三区| 啊啊啊在线观看| 熟妇乱伦一区二区| 中国操逼无码| 国产亚洲精品av一区| 青娱乐国产精品| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | jiujiujiujingpin| 免费超碰97久久| 熟女91网| 97天天操| 亚洲精品国产无码高清| 亚洲第2页| 99日韩| 国产999精品久久久久久| 久久久草成人网站久久久草成人久久久草久久久 | 中文字幕中文字幕一区二区| 久99热| 中文字幕日产av人| 日韩情色AV| 国产精品乱码久久久久久久| 97在线免费视频观看| 久久的免费性爱视频| 在线色导航| 怡红院一区二区熟女人妻| 亚洲激情久久| wwe 天天干.com| 天天日熟妇| 亚洲天堂另类| 欧美一级黄片视频在线| 97婷婷色| 天天看人人操屄犊摸阴| 欧美日本视频一区| 欧美aa一级片| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 美女黄页网站| 亚洲精品国产精品成人| 色久桃花影院在线观看| 亚洲av在线免费观看| 欧美A√综合网| 校园激情狠狠四射| www.黄色在线| 91国产丝袜足交精品视频| 日日骚精品视频| 中文字幕欧美丝袜07资源| 啪啪免费| 日韩精品高清资源在线| 色九九久九九| 成人aⅴ一区二区三区| 天天欧美欧美亚洲网| 青青草狠狠撸| 国产一区自拍欧美日韩| 六六久久日韩不卡| 撸无码不卡免费视频| A 在线网址| 大香蕉AV丝袜| 97国产人人| 亚洲欧美日韩夜夜| 欧美熟妇亚洲版| 亚洲伊人成综合成人网| 久久久无码国精品无码三区三区| 国产第二页| 青青操网| 97色五月天完| 香蕉99秘 一区精品蜜桃臀| 一级A片女人高潮叫床| 夜夜嗷嗷一区二区| 久久久久久亚洲Av无码精| 99视频只有精品| 欧美性第1页| 亚洲系列第一页| 淫骚熟女一区二区三区| 老熟女乱伦一区| 特级大荫道BBwBBwBBW| 92久久| 九九色综合| 亚洲另类色综合网站| 黑丝自慰喷水网站| 色777999综合| 欧美在线播放aaaa| 青草一区二区| 日韩99神马视频播放片在线播放| 男人天堂电影院| 青青国产精品在线| 天天草天天日| 日韩美女高潮喷水视频| 在线播放一级无码视频| 欧美综合 站| 男人的天堂一区三区| www久久精品| 日本岛国黄色网址| 91狠狠综合网| 狠狠干精品一二三四五六2022| 肏逼视频日本| 欧美性天天影院| 国产午夜无码片在线观看影视| 欧美与日韩97| 操逼日韩无码| 超碰在线一区| 久久精品国产久精国产| 日韩欧美国产高清视频| 国产免费内射视频| 熟女色图在线| 人妻精品一区二区在线| 97天天摸天天爽| 九一综合精品视品av| 欧美黄色大片在线观看 | 91人妻素女| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 韩国黄片aaaa| 另类小说欧美激情校园春色| 神马久久久久久久久久| 亚洲最大无码中文字幕网站| 超碰91在线| 精品999日本| 操逼网站地址| 人妻色偷色噜| 亚洲久久天堂| 日日日啊啊啊| 国产男女无套视频免费观看| 激情小说在线视频| 热热色综合网| 嗯嗯啊啊操死我| 成年人性爱日韩| 欧美在线播放| 激情另类激情| av久日| 91人人看| 操碰97| 嗯啊视频免费在线观看| 日夜伊人网| 久男人久久| 91欧美长吊| 99热精品在线在线| 国产91啪| 亚洲 无码 偷拍| 骚货操死你| 欧美综合 站| 女同性恋一区二区三区精品视频| 去干网最新版| 亚洲一级性爱视频免费看| 色香AV| 欧美日韩亚洲少妇寂寞影院正在播放| 欧美一二在线| 小草三级久久观看| wwwss在线观看| 久久久久亚洲?V片无码V| 久久97| 亚洲无码一区成人免费午夜| 啊啊啊啊啊舒服| 日日骚 av| 99啪啪视频| 日韩人妻少妇中文字幕| 五月丁香| 婷婷99| 人妻22p| 国产精品亚洲一区二区三区四区| 欧美天天干| 伊人一级免费黄片| 亚洲性爱成人| 国产Av超碰| 国产福利电影| 91丨九色丨国产丨人妻在线 | 99综合视频| 国产在线视视频有精品| 欧美久久伊人| www.色婷婷色综合| 青娱乐日韩无码| 亚洲乱熟女一区二区三区大香蕉| 欧美性爱一级操| 欧美十八禁网站| 日韩视频啪啪| 日韩精品一区的| 中文字幕 国产 精品| 十八禁视频网站| 爱射综合| 91老司机在线视频免费观看 | 免费A片三p视频| 人妻9117c| 亚洲A曰本VA欧美VA视频| 黄色香蕉视频网站一区| 国产精品黄色三级av| 亚洲中文一区二区三区| 久久肏大逼| 色婷婷av在线观看| 日本免费不卡二区| 99RE在线视频精品,这里只有精品| 操B久久| 色在线69堂| 3级毛片一二| 日韩小电影| 2025年A片视频精品| 国产精品亚洲天堂网址| 久久久免费一级黄片| 色噜噜综合网| 一个人在线看的黄色电影网站| 1区2区3区中文字幕日韩| 91美女視頻| 97超碰超| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 欧美性爱在线无码| 一区二区三区在线资源| 看黑丝美女操逼青青网站| 亚洲综合图片在线| 亚洲色阁| 日韩一区二区高清在线观看的| 国模精品一区二区三区苹果色戒| 99啪| 久久风骚城市人| 亚洲欧美国产中文视频| 3p国产欧美99热| 久操B网| 亚洲国产亚洲天堂| 秋霞 色色| 免费a在线播放v| 爱干爱射网啊啊啊| 神马久久免费电影观看| Av手机版天堂网| 亚州精人品大香蕉| 物业黑人 AV一区| 亚洲男人天堂网| aaaa少妇高潮大片| 亚洲精品一区二区三区新线路| 动漫av中文| 国产白丝精品在线观看| 久久久国产三级黄色片| 久久久久久波多野吉衣高潮| 亚洲国产综合图区中文字幕 | 久久精品成人| 国产一区在线观看无码AV| 91N欧美| 青青草女人天天干| 伊人久久大香线蕉无码| 色噜噜人妻av 中文字幕| 青青草在线视频美女| 人人干黄色| 毛片视频白嫩| 91另类| 伊人久久88国产女| 国产在线激情| 国产热RE99久久6国产精品首| 欧美亚洲高清不卡| 美欧色综合| 伊人久久综合影院| 女同性恋一区二区三区精品视频| 97碰久久| 欧美日韩性感| 欧美色图色综合| 免费观看欧美日韩操逼视频| 亚洲中文字幕av | 大香蕉碰碰| 中文三一区| 婷婷深爱五月| 少妇啪啪自拍| 色色九区| 免费αV在线视频| 一区二区视频在线播放| 精品十三区| 囯产精品久久久久久久久久梁医生| 人人摸人人叼| 国产精品高清2021在线| 欧美黑人性猛交91| 91春色| 开心五月激情网| 九九热只有精品| 91超级碰碰| 青娱乐黄色录像| 超碰人人在线| 久久系列| 国产精品久久久蜜臀| 999精品国产高清一区二区| 久久av色| 国产精品呦一区二区三区| 久久久精品久久| 高清在线偷拍自拍视频| 国产精品久久久久婷婷二区次| www.超碰| 亚洲无码精品AV久久久| 蜜桃久久久久久久久久久久| av无码av无码专区| 东京热,男人的天堂| 久久超碰爱| 日韩一区二区精彩视频| 东北操逼| 亚洲国产第一页综合视频| 欧美少妇色图| 久日91在线| 亚洲精品成人激情在线| 欧美极品| 热的中文 热的有码 热的国产| 久久精品国产亚洲AV片多多| 亚洲男人天堂网站| 午夜性| 亚洲图片偷拍视频区| 久热最新在线杭州| 国产青视频| 国产精品久久伊人| 一区二区三区免费视频入口| 91青青在线视频| 天天综合日韩网| 凹凸视频在线观看伊人| 香蕉视频精品亚洲一区二区三区在线播| 内射中出日韩在线观看视频| 91操人| 尤物视频视频官网| 丝袜视频网国产90| 成人综合视频久久| 丁香六月婷婷| 欧美另类精品xxxx| 天天肏天天干| 精品9999| 性色av一区二区| 超碰97起碰| 日韩性爱视频免费在线| 日本操逼视频不卡直接放| 999国产精品999久久久久久| 美女诱惑在线一区| 婷婷三区| 青青草中出视频| 91暧暧| 日日狠狠久久偷偷色综合免费| 神马久久久久久伦理片| 久久AV无码AV| 激情欧美97| 国产精品夜夜夜| 999 久久久| 黄色二级片网站| 天天综合~91入口| 偷窥自拍亚洲天堂网爆| 日韩人妻制服丝袜av| 日韩肏逼视频| 日夜伊人网| 麻豆天美在线| 熟女久久| 91欧洲入口| 久久人妻无码毛片A片麻豆| 麻豆精品A片免费观看| 欧美日韩99精品麻豆传媒| 午夜精品视频777| 亚洲一区二区三区AV无码| 欧美日韩另类在线| 欧美中文字幕日韩在线| 2021国产成人精品久久| 69一区二区| 91美女视频在线观看| 亚洲美女精品九九视频| 天天摸天天操视频| 淫纸中9区| 日本2020一区二区| 亚洲中字慕不卡| 人伦四五区| 91痴汉| 视频二区美腿制服人妻欧美| 蜜臀Av一区二区三区| 亚洲色图欧美色图在线播放| 97在线观看免费| 四虎影视 亚洲无码| 国产三级中文字幕粉嫩| 亚洲九九视频| 国产97亚洲| 91综合色噜噜| 伊人丁香五月婷婷| 精品人妻一区二区视频| 国产成人亚洲精品无码古代早漏男 | 久久AV无码1区2区3区| 97超碰色屌| 97超碰在线资源网站| 热的中文 热的有码 热的国产| 国产吹潮女在线观看| 少妇熟女视频一二三区| 色香av| 欧亚无码视频| 国产精品极品美女视频| 超碰人人超在线观看| 99热精品在线观看| 操我啊啊啊啊啊| 97超碰在线资源网站| 亚洲色棕合| 女人高潮大叫一级毛片| 99久久九九| 日本丝袜美腿人妻九九| 性交一区二区在线播放| 91欧美情色| 国产精品久久久久久久久久梁医生| 久久无码成人| 亚洲成人网站在线观看| 第四色亚洲色图| 好色美女九七第一页| 色图综合网| 啪啪啪精品视频| 91爱综合| 加勒比性爱成人在线| 国产久久久久久| 2018天天干在线视频| 激情丁香五月| 97超视频在线观看| 夜夜躁狠狠躁日日躁av| 久久综合资源一区二区| 91美女丝袜诱惑视频| 蜜臀色乳| 人妻一区二区三区熟女| 日韩欧美综合激情| 久久人妻97久久久久久久| 熟女91网| 亚洲图片色图欧美另类 | 91成人18| 在线观看日韩av不卡| 日韩精品熟妇| 色噜噜国产精品视频一区二区| 日本狂喷奶水在线播放212| 中文字幕黑人大片| 大香交| 欧美经典一区二区三区| juliaann精品熟女一区| 亚洲狠狠入| 亚洲精品天堂久久A∨51成人漫| 97超级久久强资源| 9精品久久久久| 自拍偷拍 高清无码| ss久久| 9丨久久九九九 | 清纯唯美亚洲综合| 超碰人人干| 色网1| 日韩无码a片| 性欧美体内射精| 亚洲日韩天堂| a网站免费观看| 欧美成人精品一区二区男人蜜臀| 亚州免费啪啪视频| 99热在线不卡| 99久久精品国产系列| 欧美亚洲玖玖玖| 干B网| 色婷婷丁香五月天| 久久久无码精品人妻二区| 欧美性爱中文字幕无线码| 国产农村妇女精品一| 超碰91在线| 99精品在线| 91欧美www| 人妻22p| 人妻精品一区二区三区| 99综合网| 加勒比中文av| 口爆综合网| 亚洲图片另类| 久久久久国产亚洲一区欧美色图日韩| 蜜臀久久99精品久久久久久-DVD| 五月天色综合| 东京热双插| 极品丝袜无码| 蜜乳中文字幕a在线| 中文字幕亚洲欧美在线不卡| 日本人妻中文字幕| 嗯嗯啊啊好疼| 亚洲AV无码黄色强奸| 狠狠干妹子| 日本污ww视频网站| 美女91| 色第一页| 日韩乱伦影音先锋| 久操免费电影| 91男女啊啊啊| 亚洲无码超碰免费| 人妻免费观看| 色婷婷丁香| 欧美天天弄| 白嫩嫩一区| 久久久999| 国产久久视频| 亚洲成人一区二区精品| 亚洲中字慕不卡| 久久精精区一区二区一蜜桃一区二区| 久久精品| 美国三级日本三级久久99| 五月天大香蕉| 99精品国产户外露出| 制服中出中文人人精品| 久久激情五月| 青青免费在线视频一区| 国产精品97超碰| 高潮内射在线| 亚洲无码一二三区| 爱逼综合| 久热大香蕉网站| 吻戏激情性巴克| 高潮毛片无遮挡高清免费| 亚洲另类色综合网站| 亚洲熟女乱色| 国产一级做a爰大片免费久久| 超碰2017| 亚洲熟妇综合久久久久久| 亚洲日韩AV视色| 日美免费黄片| 91在线视频国产网站| 国产精品国产| 人妻一区二区三区| 高清在线偷拍自拍视频| 桃花色综合影院| 国产一二三福利视频网| 欧美韩国你懂得在线 | 口爆综合网| 97爱b| 午夜免费福利视频一区| 日韩免费一级性爱视频| 青青草大香蕉视频| 国产青视频| 欧美性天天影视| 破苞ⅩXXX性无码动漫无码| 囯产精品久久久久久久久久梁医生 | 精品亚洲俞拍视频一区| 国产原创自拍| 亚洲第一在线视频| 欧美一区二区三区入口| 97在线观看免费视频| 91亚洲黄色网| 97jingpin| 媚薬在线视频麻豆| 精爱久久| 一区=区三区视频| 国产毛片精品一区二区色欲黄A片| av在线观看不卡网站| 绯色一区二区三区不卡少妇 | 五月天婷婷基地| 亚洲人妻中文高清| 100啪啪视频大全| 一区二区视频在看| 91n免费处女| av大香蕉网站| 综合国产97| 美女尤物福利视频| 狠狠久久亚洲欧美专区| 99碰碰| 中文字幕一区日韩精| 91在线精品| 精品一区二区人妖| 国产中文字幕曰本毛片| 无码天天操| a一区二区三区乱码在线| 香伊人在线| 国产欧美日本亚洲精品 | 亚州人妻| 丰满精品人妻少妇久久字幕| 91成人在线| 久久中出在线| 亚洲人妖网| 精品无码久久久久| 日韩精品大香蕉伊人在线| 亚州综合AⅤ| 超碰97欧美日韩| 男女性扦B| 亚洲情色无码一区二区三区| 在线观看啊啊啊啊啊| 久久久一区二区三区麻豆| 欧美激情内射| 欧美少妇色图| 亚洲国产成人精品999| 中文字幕乱码人妻二区三区| 99老司机精品视频在线观看| 天天操人人操狠狠插| 人妻81p| 日本国产成人亚洲精品无码| 91中文在线| 欧洲综合视频| 久久久久久久久久黄色网| 久久久久国产| 97资源站国产精品| 久久97超碰| WWW啪啪的com| 国产三级日产三级韩国三级| 欧美黄色片AAAAA| 亚洲 欧美 91| 99在线视频播放| 国产小黄片在线免费观看| 亚洲最大无码中文字幕网站| 丁香五月天啪啪| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 操逼免费视频无码国产| 在线观看精品国产免费| 亚洲人妻一区二区三区| 亚洲淫乱骚妇AV| 久久精品成人一区二区三区蜜臀 | 亚洲天堂热| 中文字幕精品丝袜| 久久久成人精品| 青青草好吊色| 日韩中文字幕人妻视频| 超碰99热| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 少妇干B| 亚洲不卡AV在线| 性爱AV天堂| 这里只有97精品| 五十路六十路素人熟女| 欧美日韩99| 啊啊啊啊操死我了| 亚洲天堂男| 日日噜噜夜夜狠狠视频无| 五月天激情小说| 日韩精品三级片长长久久| 久久在肏| 国产综合网站在线播放| 成 人 影视 一区 二区 三区 四区| 超碰久久精品| 秋霞网无码| 伊人久久婷婷| 九九九九九精品十六| 午夜爽爽爽| 国产激情av女片自拍| 九九九久千久久激情蜜桃在线看 | 日韩在线性爱免费视频| 人妻加勒比东京热| 国产av色网| 国产日韩手机视频在线| 99热这里都是精品| 日本道日本道中文字幕日本道最新日本道在线观看 | 蜜乳视频网站| 69超碰综合| 极品少妇久久久久| 东京热男人的天堂精品| 欧美久久毛片基地| 欧美色图第一页| 极品白嫩美女白浆成人福利在线看| 欧美色997| 97爱综合| 99色在线视频| 午夜福利一区二区三区四区五区色婷婷| 亚洲天堂五月天国产| 亚殴在线| 综合久久9| 色五月综合| 日韩欧美久久婷婷网站| av无线看| 中文字幕天天操| 三级精品三级在线观看| 美腿色图| 激情文学88| 天无日色综合| 美女诱惑一区| 亚洲少妇色| 日日摸天天爽夜夜欢| 激情五月激情综合网| JuliaAnnXXX888| 综合色色网| 情色图区| 九九色逼| 久操免费观看| 精品国产乱码久久久久久影片| 成人性交免费视屏| AV 少妇 人妻 偷拍| 婷婷五月天色色| 加勒比色99999| 久久五月婷| 色妇综合网| 久久女人视频| 色欲久久久久综合网| 久久国产精品,久久国产| 人人模人人看| 欲色影视综合吧| 午夜亚洲国产理论秋霞| 丝袜亚洲91| 美女黄频a美女大全免费皮| 久久精品一区一起草| 激情五月丁香五月| 亚洲开心网| 97超碰天天| 操高情无码| 伊人网在线点播| 天天看综合网| 国产欧美日本亚洲精品| 99黄页网站| 人人插人人搞人人操| 97免费视频在线| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲成人一区二区精品| 久久成人东京热人妻| oumeisetu综合| 国产多人在线观看视频| 精品美女人人干| 大香蕉伊人色偷偷在线| 天天干天天燥| 天天影视综合色| 亚洲日本男人天堂网| 97人妻免费中文字幕| 亚洲Av诱惑| 久久鲁夜| 五月丁香激情啪啪| 粉嫩av在线| 亚洲色图第一页| 天无日色综合| 91成人久久| 欧亚日韩中文在线| h色99999| 啊a一区在线| 91人妻素女| 一区二区三区国产在线播放 | 97摸视频| a片自拍直播视频| 日韩人人精品| 宅男午夜在线视频| 日本亚洲熟女视频| se吧提供91精品国产91久久久久久| 大香蕉92| 亚州综合电影| 性爱综合网| 综合操逼| A级在线视频| 国产白丝网站| 97bbn| 啊啊啊好湿久久| 婷婷激情五月| 激情综合网五月婷婷五月天| 欧美综合天天| 91女日逼| 91老熟女91老女人| 五月天伊人| 欧美熟爽综合| 色色色色综合网| 亚洲日韩精品一区视频在线| 亚洲欧美成人网站AAA| 亚洲精品电影| 中文一区二区| 一区二区三区无卡视频在线观看| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 青青草原香蕉日本Ap| 婷婷五月天无码| 欧美熟女激情| 欧美激情总合网| 久热伊人| 五月婷婷激情网| 国产 丝袜 欧美中文 另类| 久久av一级av少妇av高潮 | 中文字幕av丝袜| 亚洲少妇在线影音| 91新在线欧美| av操操不卡| 精品v1区| 不卡九肏| 极品粉嫩一区二区| 午夜男人天堂| 97AV爱| 日韩pv中文| 欧美日日网| 91九九九馒头| 中文字幕91综合| 久久免费中文字幕在线观看| 婷婷五月天在线观看| 色色五月天婷婷| 久久久久9999| 9+1视频网址| 欧美操逼一二三区| 亚洲精品一区中文字幕乱码| 中文字幕在线观看视频www| 乱老女人一区二区视频| AV电影在线播放| 开心五月激情网| 激情综合五月天| 亚洲图片欧美91N| 久久免费中文字幕在线观看| 人妻夜夜爽天天爽麻豆三区网站| 九九热九九热| 伊人大香蕉在线| 久久亚洲不卡一区二区三区| 天天舔九色婷婷| 一二三四视频在线社区中文字幕| 亚洲色图综合网| 人人九九精| 男人天堂2030| 秋霞Av理论一级在线| 国产9 9在线 | 亚洲| 亚洲最新av无码成人精品区 |