久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

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

MySQL全表掃描生命周期解析:從觸發(fā)到收尾的完整路徑 晚上十一點(diǎn)半線上訂單庫(kù)的 CPU 突然飆到 80%一條 select 把整張訂單表從第一個(gè)數(shù)據(jù)頁一路啃到最后一個(gè)數(shù)據(jù)頁慢查詢?nèi)罩纠锛t得刺眼。這種場(chǎng)面我接過不少每次排查到最后原因往往不在 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ā)場(chǎng)景全表掃描不是隨機(jī)發(fā)生的絕大多數(shù)時(shí)候是優(yōu)化器在“沒得選”或者“不想選”的情況下做出的決定。我整理了自己在生產(chǎn)環(huán)境里見過的高發(fā)場(chǎng)景按出現(xiàn)頻率排個(gè)序你對(duì)照自己的慢查詢?nèi)罩究椿灸軐?duì)上。1.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ù)在全表掃描場(chǎng)景下基本等于表里的行數(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)證很簡(jiǎ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)化器無法對(duì)這個(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)化器判斷“索引不如全表掃”小表場(chǎng)景很多剛?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)化器沒法對(duì)兩條分支分別走索引再合并結(jié)果因?yàn)閍mount 10000這個(gè)分支只能全表掃。最終 MySQL 會(huì)直接選擇全表掃描整張表因?yàn)闊o論如何都要涉及全量判斷。這種 SQL 改造思路是把OR拆成兩個(gè)查詢?cè)賃NION寫起來麻煩但效果立竿見影。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庫(kù)下我一般會(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ù)頁。聽起來簡(jiǎn)單實(shí)際很坑。InnoDB 對(duì)這些行數(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í)慣我一直保留對(duì)頻繁批量刪除、大批量導(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è)等值對(duì)應(yīng)的記錄數(shù)如果大于 200就改用索引的基數(shù)估算。這個(gè)細(xì)節(jié)對(duì)全表掃描的決策影響很大。曾經(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í)際沒這么簡(jiǎn)單。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 檢測(cè)到正在順序讀取某個(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è)長(zhǎng)期跑著的全表掃描為什么會(huì)導(dǎo)致 undo log 膨脹的原因——它一直占著舊版本其他事務(wù)提交后更新產(chǎn)生的 undo 信息不能及時(shí)清理undo tablespace越占越大甚至把磁盤塞滿。掃描時(shí)間越長(zhǎng)這個(gè)風(fēng)險(xiǎn)越大。3.4 掃描會(huì)不會(huì)鎖住整張表鎖粒度帶來的錯(cuò)覺全表掃描不等于全表加鎖。默認(rèn)的REPEATABLE READ隔離級(jí)別下這條 select 走的是一致性非鎖定讀它通過 MVCC 讀快照不需要對(duì)掃描過的行加共享鎖。所以你跑一條大掃描并不能阻止別人更新數(shù)據(jù)。但如果這條 select 寫成了select ... for update或者lock in share mode事情就不一樣了。InnoDB 會(huì)在掃描過程中對(duì)每一行加鎖而且在REPEATABLE READ下為了避免幻讀它還會(huì)對(duì)掃描范圍內(nèi)的間隙加 gap lock導(dǎo)致區(qū)間內(nèi)其他事務(wù)的插入被阻塞。更糟的是MySQL 的加鎖行為是按掃描過程逐行鎖定的掃描到哪一行鎖就加到哪一行并不是一次性鎖全表但最終效果上其他事務(wù)往這張表插入數(shù)據(jù)的動(dòng)作會(huì)大面積受阻。這就是為什么我在生產(chǎn)環(huán)境特別忌諱對(duì)線上大表直接執(zhí)行select * from ... for update去“導(dǎo)出數(shù)據(jù)”看起來只讀實(shí)際會(huì)對(duì)后續(xù)寫入造成強(qiáng)烈的鎖競(jìng)爭(zhē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è)典型的決策場(chǎng)景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ù)在同一塊普通磁盤上競(jìng)爭(zhēng)會(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)場(chǎng)還原從 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)化器選擇了全表掃描掃描過程中對(duì)每一行做 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)化空間。第三步觀測(cè)執(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ù)字的增長(zhǎng)量基本可以估算出本次掃描的頁數(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 場(chǎng)景里的統(tǒng)計(jì)報(bào)表比如每天凌晨執(zhí)行的匯總查詢本來就要掃描幾百萬行做聚合。建索引對(duì)這類查詢沒有意義它的核心訴求是讓掃描盡量順、盡量少占用業(yè)務(wù)高峰期資源。第三select count(*) from t這類無過濾條件的計(jì)數(shù)查詢。InnoDB 8.0 仍然需要逐行數(shù)因?yàn)?MVCC 導(dǎo)致每一行對(duì)每個(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刷新。看掃描時(shí)有沒有把 Buffer Pool 沖垮。掃描后抽查Innodb_buffer_pool_read_hit_rate如果明顯低于 95%建議要么給掃描任務(wù)錯(cuò)峰要么考慮用備份庫(kù)跑分析查詢。看排序、分組、臨時(shí)表環(huán)節(jié)是否額外放大損耗。Sort_merge_passes和Created_tmp_disk_tables是重點(diǎn)檢查對(duì)象。6.3 一個(gè)容易忽略的坑全表掃描在 binlog 和主從復(fù)制下的后果全表掃描的 SQL 本身不改數(shù)據(jù)但它可能引發(fā)后續(xù)的數(shù)據(jù)變更操作放慢間接影響復(fù)制。前面講過長(zhǎng)事務(wù)占著舊版本的 undo log 不釋放從庫(kù)的復(fù)制線程如果也跑了一個(gè)長(zhǎng)查詢主庫(kù)的 binlog 在從庫(kù)執(zhí)行時(shí)會(huì)因?yàn)殒i等待而滯后主從延遲就是這么拖出來的。所以生產(chǎn)環(huán)境我有一條鐵律大查詢要么走只讀從庫(kù)或分析庫(kù)要么在低峰期執(zhí)行。線上主庫(kù)的 Buffer Pool 和 undo 資源經(jīng)不起長(zhǎ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)私貨我對(duì)全表掃描的重新認(rèn)識(shí)早幾年我有一個(gè)很暴力的執(zhí)念慢查詢?nèi)罩纠锍霈F(xiàn)ALL等于事故必須先加索引再說。后來看多了才發(fā)現(xiàn)全表掃描不只是“性能事故”它也是一種能力。MySQL 在數(shù)據(jù)量不大的場(chǎng)景下用順序讀高效地解決問題在無法用索引的情況下保證查詢?nèi)匀荒軋?zhí)行這套機(jī)制本身設(shè)計(jì)得并不差。真正值得注意的是那些因?yàn)椤霸O(shè)計(jì)缺陷”而被迫全表掃描的查詢——索引失效、統(tǒng)計(jì)信息過期、SQL 寫法不規(guī)范。每一次這種掃描都是對(duì)存儲(chǔ)引擎資源的一次無差別暴力讀取短期看是某一條 SQL 慢了長(zhǎng)期看它擠占 Buffer Pool、膨脹 undo log、拖累主從同步是系統(tǒng)性風(fēng)險(xiǎn)的積累。我個(gè)人這幾年把排查慢 SQL 的習(xí)慣固定成了三層第一層看執(zhí)行計(jì)劃第二層看 optimizer trace 的賬本第三層看狀態(tài)變量和 performance_schema。每一條異常的全表掃描都會(huì)走一遍這三步找到它從觸發(fā)到執(zhí)行再到收尾的完整生命周期問題基本就能定死。我希望這套方法論對(duì)你也有用下次再被慢查詢喊起來的時(shí)候至少你手上有一把解剖刀能像庖丁解牛那樣順著紋理下刀而不是一刀剁下去。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九久久精品| 午夜性生活av免费在线看| 亚洲国产一级精品毛一级精品看免费视频| 久9九综合在线| 一区 欧美 日韩 麻豆| A片 AV一级在线播放观看免费| 97色香蕉| 成人小电影网站tex| 91熟女.com| 欧美亚综合色图| 亚洲无码一区二区三区三州| 国产精品久久成人免费| 操操操五月天婷婷丁香影院| 天天澡天天爽日日AV| 色婷婷一区二区三区久久午夜| 精品射1999| 欧美另类自拍| 日产国产精品中文久久婷婷| 99热在线观看| 99热自拍| 色丁香五月婷婷| 亚洲精品第一| 天天舔天天| 天天做日日做天天欢。| AV无码久久久精品| 91精品无码人妻系列| av天堂天堂av日韩| 久久久久亚洲AV无码专区少妇| 国产熟妇 码视频户外直播 | 日韩有码专区| 久久三区四区| 啊啊嗯嗯好爽| 乱伦强奸区日韩| 人妻丝袜日本| 超碰97人妻| 久久久久久久唑| 麻豆视频一区二区| 91色人妻| 国产精品婬乱一级毛片彝族| 91成人精品在线播放| 又大又长又粗又爽又黄| 免費黃色視頻觀看一| 激情视屏国产乱伦强奸| 中文字幕av乱伦| 日韩AC| 久久久久久精品免费看A级| 天天操人人操狠狠插| 欧美片第一页| 亚洲黄色a级片| 日日黄色三级网站| 好湿好紧好爽 视频| 久久a久久| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲国产麻豆一区二区三区| 日韩av在线精品观看| 91色图片| 深夜操逼网| 日韩黄片影院| 久久精品区| 欧美精品 - 91爱爱| 在线精品福利免费播放| 极品色| 91高潮喷水美女| www.yw尤物| 99成人| 亚洲 欧美 精品专区 极品| 手机久操欧美综合色码| 五月天综合在线| blacked精品一区国产| 亚洲天天更新| 久久精品电影| 99国产在线绯色一区| a v网站在线播放| 久久久久久久| 99精品综合久久久久五月天| 一牛一区二区三区久久| 欧美日韩理论一区| 五月天激情网图片| 丁香五月天啪啪| 成人激情无码在线视频| 国产91福利小视频在线观看| 97色碰| 日本ZZ高免费A级视频| 日韩国产十八禁| 99色天堂| 国产精品99久久久www| 强奸乱伦AV网站| 日韩日本欧美在线观看| 91老司机在线| 三级色影综合网| 伊人嫩草| 久久国产999| 亚洲诱惑| 亚洲淫色网中文| 中亚av| 26uuu欧美| 午夜福利免费精品视频| 综合五月婷婷亚洲一区| a片偷拍视频| A一区片| 狠狠操使劲操| 日韩性爱啪啪视频| 日韩av在线精品观看| 极品人妻少妇综合| 伊人超碰97| 色97干| 60秒不遮不挡| 精品少妇99| 精品久久97| 97色操| 97超碰伊人| 91久热| 国产精品一二三| 麻豆综合一区av| 偷拍 亚洲 欧美| 91天天综合日韩欧美| 偷拍盗拍亚洲色图图片| 伊人国产成人av网站| 美女诱惑一区| 欧美日韩黄片精品在线| 欧美国产伊人久久久久| 天天爽天天爽| 熟女在线视频| 日韩啪啪啪视频| 天天综合网在线| 人妻大相焦在线| 天美欧美国产| 亚洲欧美小说| 曰韩操B| 欧美日本一区二区a人| 最近2019中文字幕国语免费版| 久久精品店| 淫妻综合网| 69人妻精品丰满熟女区| 超碰97在线色男人??| 久久久久久裸体| 国产后入式在线观看| 风韵犹存大大大大香蕉 | 91 亚洲情侣偷拍 久久| 欧美偷拍| 久久 国产 无码| 玖玖资源综合在线视频| 天堂蜜桃无码视频一区二区| 美国久久一二三四| 亚洲 欧美综合| 91精品无码久久久久久久| 精品国产一区二区三区在线播出| 亚洲欧洲网站免费观看| 嗯嗯嗯不要不要免费视频| 熟女一区二区三区| 亚洲天堂男人天堂网| 国产成人亚洲精品无码最新在线| 日韩欧美一级特黄大片| 国产高清1234区| 久神马| 99re视频在线播放青草| 国产高清精品一区二区三区毛片 | 8050无码八戒| 97内射偷拍| 亚洲色图8| 亚洲熟妇一,二,三期| 日本伦理一区二区| 国产一二三福利视频网| 日韩图区 偷拍| 久热免费视频| 亚洲自拍青操视频| 手机在线播放国产福利| 黄页大片在线观看| aV中文麻| 操操操日本的逼| 江都AV在线| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 久久色一区二区| 色五月AV| www.97在线| 欧美97av| 一区二区三区视频在线观看免费| 884t在线| 思思热在线视频免费| 嗯嗯啊在线视频| 97国产精品在线观看| 欧美探花网| 久久国产99精品72福利| 欧美九九九| 日本色色色视频| 亚洲成人精品久久久| 成人国产二区三区在线,男女精品。| 日本性爱网址| 九九九九九九九九九九九蜜桃| 懂色中文一区二区三区| 五月天伊人| 绯色一区二区三区不卡少妇| 国产高清1234区| 色悠久| 日韩人妻精品久久久久| 嗯嗯不要 视频| 久久一区二区三区入口| 99国内熟女露脸视频| 午夜视频好爽啊| 日韩懂色网| 91深夜夜| 日本97久久| 婷婷激情五月天小说网| 日日骚一区二区三区| 国产1769在线| 久久久久女教师免费一区| 亚洲色图欧美视频| 超碰在线日韩一区| julia高潮后不停追击中出| 日本不卡在线二区三区| 性欧美另类高清| 日韩性爱高清免费视频| 天天干夜夜鈤| 亚洲色吧网| 屁股久久久久久| 天天弄欧美| 九九视频黄色片| B049AV在线播放| 91小视频| 香港久久久| 色综合一区二区三巨| 久操精品| 人妻无码视频一区二区三区久久| 日本色色网| 黄色免费一级在线毛片| 新视频sss国产| 熟女六十路| 亚洲性天堂| 97硬碰| 国产av又色又爽又黄| 亚洲人精品久久久| av中文字幕在线熟女| 岛国黄片网站| 蜜臀99久久精品久久久久久| 九九玖玖精品| 伊人五月天激情| 日韩人人精品| 在线观看十八禁| 一级日本牲交大片好爽在线看| 热热热热日日漂亮永久永久国产日| 制度丝袜99| 综合色久欲| 韩国久久97| 国产性爱在线视频一区二区| a啊啊啊啊啊啊啊啊一区二区| 久草综合京东| 久久久久久网址| 四季AV一区二区凹凸精品小说| 无码区蜜乳| 热久久无毒不卡| 亚州少妇| 人妻精品一区二区在线| 98人妻精品一区二区色欲| 好爽免费视频,| 国产99 中文字幕日韩小视频| 91一区二区三区蜜桃| 欧美精品三区| 久久综合乱子伦国产免费| 久久中文字幕一区不卡| 一二区在线观看视频| 国产精品午夜成人福利| 九九热九九热| 99热欧美| 久久久国产亚洲精品系列| 91中文字幕制服丝袜免费视频| 午夜天天碰综合视频| 成人老鸭窝人人在线视频| 一区二区三区四区免费视频| 国产精品久久久久久久AV大片| 亚洲人精品久久久| 物业黑人 AV一区| 久久久久国产亚洲一区欧美色图日韩| 国产精品成人无码a v毛片| 久久春色| 欧洲综合色| baiduhicn.com。| 人人天天欧洲| 91操人| 欧美v亚洲v日韩v最新在线二区| 一起草三级AV电影在线观看| 色欲天天综合久久久无码网中文| 欧美九九九| 久艹99| 吉川爱美98堂在线| 久久日韩毛| 欧美国产日韩高清在线| 亚洲精品无码成人久久久99| 久久久97| 久久久久夜夜夜夜| 97狠狠| 日韩一级二级三级| 超碰人人干天天射| 精品久9| 91美女视频。| 四虎免费在线播放| 欧美精品系列| 欧美中文综合| 日本爽爽爽爽爽爽免费视频| 日韩精品在线放| 日韩欧美亚洲自拍偷拍| 试看60秒 爽| 中文字幕在线观| 99久久99九九99九九九| 東南亚性呦成人伦理资源在线视频| 噜噜噜亚洲精品| 91jk色拍| 2017大香蕉国产精品久久| 丝袜喷水在线| 男人的天堂色偷偷青青草视频婷婷网| 亚洲天堂另类小说男人| 蜜臀AV一区二区三区激情综合| 欧美亚洲玖玖玖| 中文字幕精品丝袜| 欧美一区二区传媒| 久久久久密臀视频| 色欧美色交综合| 免费99精品国产自在在线| 色五月激情AV在线| 日本不卡在线二区三区| 国产精品久久aV| 婷婷综合伊人一区| 手机午夜电影神马久久| 岛国AB视频| 亚洲激情网| 九九成人| 天天日天天舔东京热 | 五十路熟女人妻一区二区在线观看| 成人性交免费视屏| 草草电影院| 精品国产一区二区三区香蕉欧美| 黑人嘿嘿嘿超爽免费视频| 18禁超污无遮挡无码免费网| 亚洲一区深夜| 青青草成人视频在线观看二区| 免费超碰97久久| 天天性射网| 美女久久久| 又大又长又粗又爽又黄| 婷婷五月天成人| 久久婷婷一区二| 丰满精品人妻少妇久久字幕| 日本超碰97日韩精品人妻| 国产不卡中文字幕免费avi| 9 9无尺码天堂网| 72av视频| 岛国视频一二三区| 久草五月| 性爱AV天堂| 青青青在线高清视频在线一二三四区 | 中文字幕国产精品1区| 91新在线欧美| 2020中文字幕在线| 国产精品白丝在线播放 | 无码高清操逼| 亚洲AV无码国产精品久久久久 | 日本熟女中文| 久插综合| 亚洲国产精品成人久久蜜臀| 91操人| 可以免费观看的AV| 男人的天堂无码| 男人午夜天堂| 中文字幕日本久久| 中文字幕视频在线观看一区二区| 97欧美久久久久久久| 麻豆成人AV| 中国女人内射6XXXXX| 2010男人的天堂| 久久偷偷色综合蜜桃| 日本一级特级毛片视频| 手机在线视频国内精品| 四虎免费看黄| 天天澡天天爽日日AV| 久久香蕉国产线看观看猫咪av| 日韩人妻网站| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 精品美女人人干| 美女啊啊啊啊啊| 亚洲日韩国产欧美综合v| 色吧五月| 日本亚欧爱爱| 日韩精品 视频一区二区| 在线 制服丝袜中出 人妻| 色香网| 日韩乱伦AⅤ| 国产农村妇女精品1区二区| 欧美天天综合在线| www.色综合| 伊人少妇久久久| 强奸乱伦亚洲第一页| 天天干2019| 欧美色图色综合| 99视频内射三四| av草草在线电影| 亚洲va有码在线天堂| 国产久久一区二区三区野外在线| 国产在线播放成人免费| 美女诱惑爱爱| 热热色中文无码| 大胆91| 久久精品久久久久久久| 无码99| 男人的天堂va在线| 男人的天堂2018.| 久久久久久久97| 男人天堂久久精品| 亚洲在线欧美| juliaann精品熟女一区| 2021国产成人精品久久| 久久111| 久久欲| 久久999久| 日本一级真人黄色性爱视频| 97 视频在线| 亚洲乱色熟女一区| 亚洲精品白丝| 中文字幕性感少妇av| 操曰本熟女| 日韩av一级黄片| 我中文字幕6区| 影音先锋乱| 高清不卡 中文 人妻| 色香色欲天天综合网天天来吧| 美女97超碰| 国产AV无码AV| 超碰97国产欧美| 久久人妻97久久久久久久| 国产毛片片精品天天看视频| 超碰97最新人妻| 亚洲av影音先锋| 天天综合91入口| 精品亚洲国产成人AV制服丝袜 | 很黄很污的免费网站| 精品人妻一二三| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 混色激情av| 日本成人A片网站| 黑人粗大V S日韩女优视频| 欧美后进式| 国模私拍一区二区三区神乳| 日韩欧美~中文字| 91一区二区| 国产丝袜美女在线一区| 国产精品高潮久久AV| 粉嫩在线一区二区懂色| 中国少妇啪啪视频| 日韩av色图综合| 91丝袜美女视频| 色香伊人| 夜夜爽妓女| 国产小视频91| 国产精品一区二区手机看片| 欧美,亚洲,日韩,v,天堂,手机在线观看| 色五月亚洲| 国产成人欧美一区二区三区的国产| 干b网| 99综合自拍| 亚洲制服欧美另类内射| 秋霞网无码| 久久9 9 9精品| 亚洲aw毛茸茸在线| 97香蕉网| 性欧美第一页| 99国产精品免费| 国产精品秘 福利姬在线观看| 亚洲国产综合视频| 国产成人精品网站| 精品一区99999| 亚洲国产奇米影视久久| 人人做,人人操,人人摸| 91精品人妻一区二区三区蜜臀| 蜜臀99999| 91肏屄网| 先锋精品av色鲁| 亚洲暴力强奸AV| 国产亚洲欧美每日在线| 亚洲日韩天堂| 熟女人妻一区二区三区免费看 | 人人性爱视频免费| 欧美大的香蕉有线电视视频| 精久久久| 无码九九九九| 欧美97在线观看| 九久久九精品视频| 91国产精品在线看| 国内毛片婷婷六月色| 人妻精品免费一二三区| 91美女视频在线观看| 天操天操夜操夜月月年年操操| 大香蕉十区| 二对二中文字幕。| 久久中日麻豆| 91成人国产综合久久精品蜜月| 嗯嗯,啊啊,国产精品| 久久久一区二区三区四曲免费听 | 中文日韩欧美熟| 97操在线| 日韩亚洲97| 蜜桃臀一区二区三区久久| 男人的天堂2000| 东京成人一区| 1二区9| 日日骚 av| yiren97| 2019天天操天天爽天天拍| 亚洲图片欧美制度| 成·人免费午夜在线观看| 久久久久久久9| 国产深喉视频一区二区| 翔田千里爆乳巨臀无码| 女同女同恋久久级三级| 亚洲国产婷婷在线播放| 操逼啊啊啊91| 一二三区在线| 强奸少妇AV导航网| 嗯嗯啊啊好疼| 99啪啪| 九九国产| 色色九区| 精品视频一二三中文| 精品无码秘 人妻一区二区| 思思热在线视频免费| 国内精品a| 人人操人人大香蕉| 亚洲综合色网| 久久久久久久78| 91网站在线播放| 欧美激情区| 大香蕉乱级| 欧美十八禁网站| 97香焦色区| 91蜜臀熟女| 99色骚| 加勒比99999| 91精品人妻偷情| 婷婷视频在线免费观看| 无色无码| 成 人 影视 一区 二区 三区 四区| 色天使大香蕉| 清纯唯美综合| 97香蕉网| 亚洲AV成人在线| 嗯嗯啊啊操死我| 亚洲色棕合| 熟女少妇视频| 免费一级精品啪啪视频| www.av在线观看| 人妻在线臀日韩| 久久精品成人一区二区三区蜜臀| 亚洲综合首页| 肉嘟嘟www视频在线观看高清| 黑操B| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧美日韩亚洲电影| 一级性爱网| 国产乱伦性爱AV| 伊人精品视频| 久久六六| 欧美特大黄一级片片免费| 日韩精品高清资源在线| 色区97| 极品欧美一区二区三区| 99视频内射三四| 久热久操| 天天看精品动漫视频一区| 入口操逼网站| 一区二区不卡免费| 日本免费中文字幕在线| 91色噜噜狠狠| 一区二区三| 日韩在线观看中文字幕视频| 91l欧美在线| av影片在线观看不卡| 综合色色婷婷| 亚洲欧美综合网站| 久操网线| 亚洲精品 欧美精品| 最新日本中文字幕| 97超碰美国| 欲香欲色综合天天伊人| 午夜精品视频777| 夜夜夜夜爽| 欧美天天干| 日韩精品人妻中文字幕久久久| 中文字幕国产在线天堂| 男人天堂站| 国产资源中文字幕在线| 午夜男人天堂| 中文字幕高清精品一区| 欧美熟妇精品黑人巨大一二三区| 91日韩| 色噜噜人妻丝袜a∨先锋影 | 日韩欧美偷拍美女视频| 最新av中文字幕高清| 久久综合久久综合人久久夜精品| 国语精品av| 久久性视频| 新怡红院| 欧美淫穴| 91大神精品长腿在线观看网站| 欧美一区二区情色| 热热色91| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 操操吧亚洲乱伦视频| 色爱欲亚洲| 在线播放一级无码视频| 91欧美丝袜| 国产高清无码一区二区三区四区皇冠| 0755午夜福利视频| 花野真衣| 伊人久久综合影院精品久久久| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美gv在线观看| 九九九九九用不成了| 99国产精品视频尤物| 加勒比色综合| 玖玖色综合| 久久久久九九九| 玖玖综合色| 国产女人操逼视频| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 日日夜夜精品视频| 丰满人妻一区二区三区在线| 69少妇一区二区| 自拍第一页| 理论久久婷婷网 8| 欧 美 自 拍 偷 拍| 久久9999| 九色PORNY9l原创自拍| av影片在线观看不卡| 天天干天天日天天射黄色片| 特级毛片特黄久久免费看| 欧美精品激情| 久久久18禁| 日韩无码黄色片| 九色黄站| 天天激色| 91老熟女逼| 欧美,日韩,亚洲视频| 国产精品人妻一区二区| 欧美线天码中字| 国产久久一区二区三区野外在线| 国产激情久久| 脫衣舞一区二区三区| 久热热| 美日韩一二三区| 亚洲日韩AV视色| 欧美日韩国产高清在线一二三区| 欧美翘臀视频网站一区二区三区| 中文字幕文字幕无码一区二区三区电影99| 婷婷综合久久| 凹凸视频在线观看伊人| 青青草女人天天干| 台湾肥佬网一区二区三区| 激情五月天色色网| 国产熟女完整版中字| 亲子敌伦对白在线播放| 久久精品六区| 欧美日韩国产人人| 超碰在线人妻不卡| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 一区二区播放| 日日夜夜模| n1038 一二三区| 日日夜夜狠狠| 国产午夜无码片在线观看影视 | 黑丝日韩av丝袜av| 欧美淫穴| 91操操| 亚洲欧洲国产综合av| 99re免费视频精品全部| 好爽免费视频| 黄色工厂这里只有精品| 国产自偷| 无毛精品| 九九热精彩视频| 亚洲五区熟女| 日本九九久久99播| 九九精品美女高溯喷水| 在线色导航| 一级黄色性爱A级片| 秋霞一级A片黄色视频| 啊v在线观看视频| 九九九国产| 欧美九九九| 综合欧美亚洲| 日韩猛交| 天天拍夜夜| 午夜精品久久久久久久第一页按摩| 男女香蕉一区二区| 玖玖爱伊人玖玖爱| 国产高清在线自在拍69| 97国产精品久久久久| 60秒免费小视频| 亚洲精品蜜桃久久久久久久| 国产日韩欧美| 熟妇人妻一区二区三区| 麻豆精品A片免费观看| 少妇国产不卡| 综合日韩激情另类图片| 爱爱动态试试看6 0秒| 人妻一区久久二区三区色播| 国产AV天美| 秋霞一区二区三区四区五区六区七区| 国产熟女二区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 久久动漫精品视频这里只有精品| 91亚洲欧美综合高清在线| 色九九综合AV| 在线观看午夜婷婷久久久久清性观看| 学生妹天天看| 亚洲色性| 日韩在线欧美精品一区二区| 亚洲三区视频| 日本亚洲熟女视频| 欧美三级一级| 久久神马影院| 爱丝福利| 中欧人妻丝袜中文字幕| yw尤物av无码点击进入麻豆| 婷婷久久五月综合激情| 欧美日韩大黄片| 日韩国产成人自拍视频| 日本色婷婷| 殴美日韩m| 亚拍在线| 91爱| 亚洲一级性爱视频免费看| 免费一级精品啪啪视频| 欧美性爱另类综合| 国产又黄又猛又粗又爽的网站| 99国产精品久久久在线播放| 黑人精品欧美一区二区蜜桃| 日本大香蕉综合网红本杳社区| 91精品人妻一品二品三品| 影音先锋少妇| 午夜丁香婷婷| 四虎 精品 WWW| 99热在线只有精品| 91精品无码久久久久久久 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 伊人97色天使| 丰满欧美放荡少妇在线| 一区二区中文| 欧美性爱十八禁| 欧美三级一级| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 国产精品自产拍在线观看社区| 俺去也婷婷| 国产久久一区二区三区野外在线| 日本道日本道中文字幕日本道最新日本道在线观看 | 五月天婷婷久久| 干B| 欧美日韩不卡传媒| 国产美女口爆吞精视频| 色色五月天激情| 无码人妻精品一区二区三区九九| 婷婷色香伊人| 欧美疯狂做爰xxxx| 一区二区三区蜜桃成人撸久久东京热| 精品日日人妻| 多乙久久久久久| 午夜啊啊啊| 97久久网| 97人人射| 91网站在线播放| 成年无码动漫av片无尽在线| 丁香六月啪| 毛片麻豆91糖心精品毛情片| 激情黄色片在线观看| 婷婷色网| 亚洲国产福利视频| 99国产精品视频尤物| 国产精品小视频一区二区三区| 97在线视频免费看| 日本在线视频导航| 久久久久久久六六 | 男人的天堂com| 手机看片1024你懂的国产| 欧美亚洲AN| 国产AAAAAABBBBB| 九九九网页| 999999精品| 91 刺激在线| 亚洲色图欧美一区二区不卡| 国产九月婷婷| 亚洲交性| 精品无码久久久| 激情小说在线视频| 欧美精品成人亚洲| 亚洲色图91| 麻豆视频test| 午夜噜噜噜| 超碰国产在线| 偷拍 亚洲 欧美| 无套内射性感少妇视频| 中文字幕av片| 色色五月婷婷| 啊啊啊啊操死我| 国产女上位好爽在线| 狠狠超| 蜜桃久久久久久| 午夜精品久久一区二区| 观看免费区二区三区二| 国产精品久久久久久久电影渣男| 操人妻逼91| 久久久久亚洲AV无码专区少妇| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 吻戏激情性巴克| 伊人操| 精品久久久久瑟瑟| 成全在线观看免费观看| 曰本91情色| 丁香五月天啪啪| 综合网亚洲| 97在线欧洲| 日韩成人大片在线观看| 怡红院成人视频| 激情五月综合网| 蜜臀一区二区三区在线| 久久手机视直播| 91色交| 97色涩| 亚欧国产无码精品在线| 国产成人精品一区| 丁香六月综合激情| 久久九色| 狠狠2050在线观看| 一牛一区二区三区久久| 国产宅男宅女在线观看| 牛牛久久国产精品视频一二三| 黄色av一区二区在线| 欧美少妇人妻| 超碰天天操你比| 国产精品成人在线| 肏逼视频日本| 亚州 综合 色图| 欧美很很操视频| 人人搞人人插人人操| 亚洲日韩久久精品一区| 99re9在线| 国产福利在线视频网站| 91亚洲影视| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 激情干在线| 亚洲精品国产无码高清| julia国产在线| 天天摸夜夜摸| 色呦呦呦在线观看视频| 欧美中文综合| 久久熟女久| 亚洲s在线观看| 日亚韩精品视频二区三| 国产又黄又粗又猛大片| 亚洲日韩欧美一区二区| 天美传媒国产原创中文字幕亚洲欧美另类 | 殴洲老熟女| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 五月天伊人网| 97超碰人操| 亚洲人在线| 婷婷久久五月天| 国产成人亚洲精品无码古代早漏男| 欧美色图电影| 激情情色五月天| 裸模AV女优| 亚洲熟妇极品| 亚洲国产精品久久久久久久久久| 强奸乱伦日韩AV| 久久社区一区二区三区| 狠狠久久手机视频精品| 91热色| 蜜乳av一区二区三区| 欧美性区| 亚洲午夜AV| 99久久精品无码一区二区毛片免费| 久久9免费视频| 蜜桃臀 后入 一区 二区 三区 在线| 久久久九九网站| 思思热影视| 肏逼视频日本| 97干在线视频| 四虎在线视频| 国产乱码久久久久久| 欧美狠狠弄| 成人AV素股で擦久久| 日本在线不卡123| 久久性爱视频| 中文字幕免费看大片| 超碰成人公开| 国产91亚洲精品一区二区三区| 久久专区| 人妻精品视频一区二区三区| 97日韩| 国产三级片在线观看| 亚欧美综合网| 香蕉99秘 一区精品蜜桃臀| 99最新日韩偷拍视频| 国产AV天美传媒一区二区三区| 欧美,亚洲,日韩,v,天堂,手机在线观看| 小明看看网址| 97操在线| 91劲爆| 91精品91久久久久77777| 欧美少妇高潮| 亚洲人妻精品一区二区| 天天综合网日韩| 国产亚洲福利第一页丝袜| 日韩欧美亚欧在线视频| 国语对白露脸XXXXXX| 欧美片第一页| 2020中文在线一区二区三区| 中文字幕国产在线天堂| 69视频入口| 久久久久人妻二区精品叶可怜| 成人av影院在线观看| 成全在线观看免费观看| 伊人网综合在线视频| 一级久久久久久久久久久| 五月丁香婷婷色| 亚洲天堂区| 东京热av男人的天堂| 十八禁一区二区无码观看| 99re只有精品| 久久久三区二区一区| 国产成人五月天丁香花| 国产美女在线精品免费看| 色就色综合| 日韩人妻免费精品| 久操热| 少妇毛片久久| 亚洲自拍欧美色综合| 日本 情色 1区2区3区| 正宗无毛一线天嫩逼| 日韩一级二级三级在线不卡观看完整| 中文字幕国产在线天堂| 免费一级精品啪啪视频| 国模精品娜娜一二三区| 98一区二区精品| 北京美女一区二区| 青青草AV色| 呦呦影院| 日韩黄色电影网站| 国产大片精久久久久久| 内射黑丝袜| 欧差乱伦二三| 秋霞一级视频在线观看免费| 日本91白丝| 色www精品视频在线观看| 欧亚 另类 久| 日韩黄片影院| 国模精品一区二区三区苹果色戒 | 操逼1区| 精品女人999| 1204人成网站色www| 久久六六| 色五月激情网| 人人妻人人色| 精品一级毛片在线观看| 家庭乱伦网站国产| 久久25| 欧美性第1页| 久久 国产 无码| 亚洲国产日韩欧美熟妇在线| 欧美亚洲日韩人妻在线观看| 校园春色 男人天堂 | 国产综合网站在线播放| 台湾佬中文娱乐自偷自拍| 青青草国产一区二区三区| 国产精品午夜福利亚洲综合网| 婷婷AV一区二区三区| 久久久久ab| 国产老太乱伦一区| 老熟女乱伦一区| 五月婷婷六月丁香| 91激情综合| av爱爱爱| 91精品大奶人妻| 国产视频第2页| 97Ai亚洲| 亚洲一级性爱视频免费看| 亚洲中文字幕乱码无码一区二区| 操一对老熟妇爽上天视频| 波多野结衣被操50分钟免费视频| 国产成人无码久久精品| 三级三级三级日本99| 狠狠操狠狠燥| 亚洲精品国产专区在线观看| 国产蜜臀精品一区免费尤物| 麻豆一区二区AV天美| 亚洲中文国际强奸字幕| 激情文学欧美| 天堂69亚洲精品中文字| 欧美极品少妇交| 精品传媒在线一区| 国产黄片在线免费观看| 天天综合网~91综合网| 欧美性生活男人的天堂| 青娱乐大香蕉| 免费岛国一级片| 一区二区三区日韩欧美| 99视频自拍区| 任你草| 影音资源男人日韩| 熟女六十路| 国产精品乱码久久久久久久| 国产亚洲女v在线观看| 77国产精品| 久久久亚洲高清不打码| 夜夜青青无码影院| 国产人伦a片信息免费片| 国产乱子伦一区二区三区免看| 偷拍三区| 国产自啪精品视频网站黑丝| 屁屁影院一区二区三区国产| 欧美图片色五月天| 天美麻花大全视频| 精品午夜福利| 日韩97视频!在线| 最新岛国大片| 美女干逼2| 亚洲国产av中文字幕久久| 一区二区不卡| 18禁的网站在线| 熟女熟妇一区二区三区视频| 伊人色综合网电影| 精人妻一区二区三区| 亚洲av夫妻操穴网| 国产白丝AV| 久久伊人大香蕉| 欧美少妇人妻| 国产黄色动态精品| 国人欧美精品一区二区| 亚洲激情欧美色图| 久久天天摸| 影音先锋日本一区二区| 91精品国产长腿丝袜美女| www99热| 国产黄色在线播放观看| 日韩精品人妻系列无码天堂| 欧美日韩 强奸乱伦| 超碰97首页| 国产一级高跟丝袜| 熟女少妇一区二区三区| 激情五月激情综合网| 91人精品妻入口| 97操综合| 涩爱AV在线| 国产三级多多影院2022国产AA一级毛片无码 | 717影院理论午夜伦八戒| 大色综合| 欧美伦乱爱| 中文字幕在线观看丝袜| 久久这里只精品免费福利| 久射吧| 日本色婷婷| 中文字幕一区二区三区字幕| 久久久久深夜无码| 天天综合色电影| wwwxxx日本爽| 91久| 另类欧美| 久久手机好看网站| 国产欧美日韩在线不卡第一页| 久久久啊啊啊| 国产AV人人 夜夜人人澡| 国产呦精品一区二区三区下载 | 大香蕉色网| 成人三一级一片aaa| 一级性爱网| 欧美 亚洲 91| 啊好爽受不了无码| 中文字幕,人妻,日韩| 久久久久久久97| 97超碰久| 综合久欧洲| 久久AV无码网址| 精品三级在线专区| 亚洲丝袜少妇在线| 久久久免费懂色| 懂色AV中文| 五月天激情小说| 天美麻花大全视频| 成年无码动漫av片无尽在线 | 自慰白浆在线观看| 日韩黄色片子| 91熟女网| 亚洲天堂电影网| 人妻久热在线| 99碰碰| 欧美日韩1234| 97这里有精品| 九九国产热| 最新av在线| 人人乐大香蕉| 丁香色婷婷| 十八禁视频网站| 免费啪啪一级视频| 综合操逼| 日韩免费a级毛片无码a∨| 91操熟女视频 | 婷婷五月天影院| 综合av社区| 免费精品无码一级毛片牛牛影视| 天天色综合影视网| 啊啊啊好疼| 亚洲drav色图| 黄日韩| 青青草无码视频| 久久啊啊啊视频| 加勒比少妇AV婷婷六月天超碰超碰| 亚洲国产综合久久久性感熟妇| 99热99re超碰精品| 伊人女女资源在线观看| 熟女精品va中文字幕| 一个人免费HD91视频| 国产精品美女在线一区| 亚洲1区2区三区高清中文字幕| 国产成人99久久亚洲综合| 91av一区二区在线观看| 成人久久久| 亚洲色图 欧美| 国产高清视频无码在线| 香蕉国产精品麻豆亚洲欧美日韩 | 九九九九日本| 97操| 精品久久久久9999| www.zbzhongsen.com| 岛国福利在线精品播放| 欧美人妻一区二区| 东北女人的毛片| 久久人妻办公室视频| 欧美视频一区二区在线| 中国少妇啪啪视频| 国产传媒一区日韩| 俺去俺来也在线www| 97 色综合| 亚洲精品蜜桃久久久久久久| 国产黄片在线免费观看| 人妻少妇久久中文字幕一区二区 麻豆 | 女人爽到高潮久久久| 色官网在线| 91超碰人人操| 99re热有精品视频国产| 久草精品国产99| 国产白丝精品在线观看| 精品69网| 天天拍天| 中文字幕视频2区| 青青草视频久久久久| 亚洲。日韩。欧美| 久悠悠av| 九九玖玖精品| 人妻在线大香蕉| 西西美女视频网| 久久精品高清无码一区| 超碰精品| 97天天弄| 伊人久大| 中文字幕一区二区三区四五区|