免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

MySQL索引優(yōu)化實(shí)戰(zhàn):從B+樹原理到EXPLAIN慢查詢排查

MySQL索引優(yōu)化實(shí)戰(zhàn):從B+樹原理到EXPLAIN慢查詢排查 很多人在面試的時(shí)候能把索引背得滾瓜爛熟B樹、最左前綴、覆蓋索引、回表……但真正到了線上一條慢查詢打過來能快速定位到是索引問題、并且能給出合理優(yōu)化方案的人其實(shí)并不多。我見過不少同事建索引全憑感覺查詢條件里出現(xiàn)什么字段就給什么字段加索引結(jié)果一張表上掛了十幾個(gè)單列索引寫入越來越慢查詢卻沒快多少。這篇文章不打算重復(fù)教科書上那些概念而是結(jié)合我這些年踩過的坑把MySQL索引從設(shè)計(jì)到驗(yàn)證、再到日常維護(hù)的完整思路捋一遍。無論你是后端開發(fā)、DBA還是剛接觸數(shù)據(jù)庫的新人只要按照這個(gè)思路去分析慢查詢基本都能找到方向。1. 索引到底是什么先搞懂B樹這棵大樹的底層邏輯1.1 沒有索引的時(shí)候MySQL是怎么找數(shù)據(jù)的在沒有可用索引的情況下InnoDB 對表的查詢幾乎是純體力活從表的第一行開始一行一行往下掃直到把所有行都檢查完這就是我們常說的全表掃描。在線上環(huán)境里我經(jīng)常在慢查詢?nèi)罩纠锟吹綆装偃f行的表一條查詢直接拖到幾百毫秒甚至幾秒十有八九就是缺索引或者索引沒被正確使用。為什么全表掃描這么慢對于 InnoDB 來說數(shù)據(jù)是按主鍵聚簇存放的也就是說 B樹的葉子節(jié)點(diǎn)上完整地保存了每一行數(shù)據(jù)。如果沒有索引可用優(yōu)化器只能把整棵樹的葉子節(jié)點(diǎn)全部讀一遍I/O 量幾乎等于讀完整張表。對一張千萬級別的表來講即使按照順序讀也會(huì)產(chǎn)生大量的磁盤 I/O 和內(nèi)存拷貝。拿生活里的場景類比一下全表掃描就像一本沒有目錄、沒有章節(jié)號的字典你要找一個(gè)字只能一頁一頁翻。這個(gè)行為在數(shù)據(jù)量小的時(shí)候還能忍受幾千行全表掃也就幾毫秒但數(shù)據(jù)量一旦上去了響應(yīng)時(shí)間就會(huì)斷崖式變差。很多新人容易忽略的是全表掃描并非一無是處當(dāng)表很小或者查詢需要讀取超過一定比例的數(shù)據(jù)時(shí)全表掃描反而比走索引更高效。這也是為什么有時(shí)候你明明建了索引優(yōu)化器卻選擇了全表掃描后面我會(huì)專門講到這個(gè)點(diǎn)。1.2 B樹索引結(jié)構(gòu)為什么適合數(shù)據(jù)庫MySQL 索引最常見的底層數(shù)據(jù)結(jié)構(gòu)是 B樹。為什么不是哈希表、二叉搜索樹或者普通 B 樹這個(gè)問題的答案幾乎決定了我們對索引使用的理解深度。哈希表雖然能在等值查詢時(shí)做到 O(1) 的查找速度但它天生不支持范圍查詢也無法做排序。SQL 里最常見的WHERE id 100、ORDER BY create_time這類操作哈希結(jié)構(gòu)基本幫不上忙。二叉搜索樹會(huì)隨著數(shù)據(jù)不斷插入而失去平衡最壞情況退化成鏈表查詢性能不可控。普通 B 樹雖然已經(jīng)比較矮胖但它的非葉子節(jié)點(diǎn)也存儲(chǔ)了實(shí)際數(shù)據(jù)這樣在范圍掃描時(shí)需要在不同層級之間反復(fù)回溯效率不夠流暢。B樹的設(shè)計(jì)恰恰解決了這些痛點(diǎn)只有葉子節(jié)點(diǎn)才存實(shí)際數(shù)據(jù)內(nèi)部節(jié)點(diǎn)只存索引鍵這樣每個(gè)節(jié)點(diǎn)能容納更多鍵值整棵樹可以做得很矮很寬。以 InnoDB 默認(rèn) 16KB 的頁大小為例如果一行索引鍵加上指針大約占幾十字節(jié)三層高度的 B樹往往就能容納幾千萬條記錄。這意味著查詢一兩千萬行的表通常只需要兩到三次磁盤 I/O就能定位到目標(biāo)數(shù)據(jù)所在的葉子頁。另一個(gè)關(guān)鍵設(shè)計(jì)是葉子節(jié)點(diǎn)之間通過指針連成有序鏈表。這讓范圍查詢變得非常流暢找到一個(gè)起始位置后沿著鏈表往后順序讀就行避免了跨層回溯。BETWEEN、ORDER BY、以及分頁查詢這類操作B樹都能給優(yōu)化器提供清晰的掃描路徑。理解了這層設(shè)計(jì)你就能明白為什么索引在排序和范圍查詢場景下如此重要。1.3 二級索引、回表與索引覆蓋除了主鍵對應(yīng)的聚簇索引普通字段上的索引都叫二級索引。二級索引的葉子節(jié)點(diǎn)里存的不再是完整數(shù)據(jù)行而是索引鍵和主鍵值。當(dāng)查詢條件命中二級索引但需要讀取的列不在索引里時(shí)MySQL 還要拿著主鍵值回到聚簇索引里再查一次這個(gè)過程叫回表。這里就到了一個(gè)非常關(guān)鍵的優(yōu)化點(diǎn)如果 SELECT 需要讀取的所有列都恰好包含在某個(gè)索引中InnoDB 可以直接從索引葉子節(jié)點(diǎn)上拿到數(shù)據(jù)不需要回表這就是覆蓋索引。我曾經(jīng)處理過一個(gè)列表接口原來查詢無論怎么調(diào)都慢最后把查詢列全部納入聯(lián)合索引執(zhí)行計(jì)劃的 Extra 字段里出現(xiàn) Using index 之后性能立刻上了一個(gè)臺(tái)階。理解回表和覆蓋索引對后續(xù)設(shè)計(jì)聯(lián)合索引至關(guān)重要。你設(shè)計(jì)索引時(shí)不僅要看 WHERE 條件用到了哪些列還要想清楚 SELECT 了哪些列。兩者同時(shí)納入視野才算一個(gè)完整的設(shè)計(jì)思路。尤其是那種高頻查詢的列表頁覆蓋索引往往是性價(jià)比最高的優(yōu)化手段它能同時(shí)減少 I/O 次數(shù)和回表帶來的隨機(jī)讀開銷。2. 索引設(shè)計(jì)實(shí)戰(zhàn)字段怎么選、聯(lián)合索引怎么排2.1 區(qū)分度是索引設(shè)計(jì)的先決條件很多人建索引的規(guī)則是“查詢條件里有什么字段就加什么”這個(gè)習(xí)慣其實(shí)非常危險(xiǎn)。一個(gè)字段是否適合建立索引最先要看的指標(biāo)是區(qū)分度也就是這一列有多少種不同的值。區(qū)分度的計(jì)算可以簡單寫成COUNT(DISTINCT column) / COUNT(*)。這個(gè)比例越接近 1說明列的取值越分散索引篩選能力越強(qiáng)。性別、狀態(tài)、是否刪除這類只有幾個(gè)固定值的字段區(qū)分度非常低。如果單獨(dú)給它們建索引一次匹配可能還會(huì)命中幾百萬行索引的意義就大打折扣了。我見過一個(gè)實(shí)際案例某張業(yè)務(wù)表有 800 萬數(shù)據(jù)status 字段只有 5 種取值團(tuán)隊(duì)給 status 單獨(dú)建了個(gè)索引。結(jié)果查詢WHERE status 1時(shí)優(yōu)化器算了一下發(fā)現(xiàn)走索引要匹配 160 萬行再回表還不如全表掃描快于是執(zhí)行計(jì)劃直接放棄了索引。這就是低區(qū)分度字段單獨(dú)建索引的典型困境。低區(qū)分度字段并非完全不能用但通常要放在聯(lián)合索引靠后的位置或者與其他高區(qū)分度字段配合使用。比如一條查詢里既能用 user_id 過濾到幾千行又能用 status 進(jìn)一步過濾到幾百行那么聯(lián)合索引 (user_id, status) 就很有價(jià)值單獨(dú)拿 status 建索引則基本屬于浪費(fèi)空間。判斷一個(gè)索引有沒有價(jià)值不是看語法上能不能建而是看它到底能把掃描范圍縮小到什么程度。2.2 聯(lián)合索引的最左前綴原則聯(lián)合索引的存儲(chǔ)規(guī)則決定了它和多個(gè)單列索引有本質(zhì)區(qū)別。以 (a, b, c) 聯(lián)合索引為例B樹葉子節(jié)點(diǎn)上的數(shù)據(jù)會(huì)先按 a 排序a 相同再按 b 排序b 相同再按 c 排序。理解這個(gè)順序就能理解為什么 MySQL 只認(rèn)最左前綴。所謂最左前綴就是查詢條件里必須從聯(lián)合索引的最左邊一列開始匹配索引才可能被用到。(a, b, c) 這個(gè)索引能服務(wù)于 (a)、(a, b)、(a, b, c) 三種查詢條件組合。如果查詢只針對 b 或者 c 作為過濾條件這個(gè)聯(lián)合索引通常幫不上忙。有些開發(fā)者以為三個(gè)字段建了一個(gè)索引所有組合都能優(yōu)化這是個(gè)很常見的誤區(qū)。聯(lián)合索引的真正優(yōu)勢在于它讓等值條件下的多列過濾變成了一次索引范圍的精確掃描。舉個(gè)例子一個(gè)訂單表有聯(lián)合索引 (user_id, status)查詢WHERE user_id U10001 AND status 1時(shí)InnoDB 可以非常精確地在索引樹中定位到 user_id 為 U10001、status 為 1 的那一段葉子節(jié)點(diǎn)不需要一個(gè)一個(gè)回表看數(shù)據(jù)。還有一點(diǎn)容易被忽略范圍條件之后的列會(huì)停止匹配。如果查詢是WHERE a 1 AND b 10 AND c 2那么索引最多用到 a 和 bc 列沒法繼續(xù)參與索引定位只能等回表后再過濾。設(shè)計(jì)聯(lián)合索引時(shí)通常建議把等值條件的字段放在左邊范圍條件的字段放在右邊排序字段再進(jìn)一步考慮。這樣能讓索引發(fā)揮最大作用。2.3 單列索引和聯(lián)合索引該怎么取舍面試?yán)锍枴岸鄠€(gè)條件查詢?yōu)槭裁匆?lián)合索引而不是多個(gè)單列索引”實(shí)際工作里這個(gè)問題的答案非常真實(shí)多個(gè)單列索引對優(yōu)化器的選擇非常不友好。舊版本的 MySQL 雖然有 index merge 優(yōu)化但大多數(shù)情況下優(yōu)化器只會(huì)挑選其中一個(gè)區(qū)分度較高的索引去掃回表后再過濾其他條件。這意味著你建了三個(gè)單列索引但一次查詢大概率只能“吃掉”其中一個(gè)另外兩個(gè)除了浪費(fèi)磁盤空間和維護(hù)開銷幾乎沒有實(shí)際收益。而聯(lián)合索引因?yàn)榘讯鄠€(gè)條件按順序保存在一起可以一次掃描完成多條件篩選回表次數(shù)也會(huì)更少。當(dāng)然聯(lián)合索引也不是越多越好。聯(lián)合索引本身占空間且每次寫入、更新都要同步維護(hù)索引樹索引過多會(huì)顯著拖慢寫入性能。更麻煩的是聯(lián)合索引之間存在互相覆蓋的可能有了 (a, b) 索引再建 (a) 單列索引就比較冗余。我自己在做索引維護(hù)時(shí)會(huì)把那些“可以被其他索引替代的多余索引”清理掉這一步對高寫入場景的表來說收益非常明顯。3. 用 EXPLAIN 驗(yàn)證索引一次慢查詢優(yōu)化全過程3.1 讀懂 EXPLAIN 里的幾個(gè)關(guān)鍵字段索引到底有沒有生效不能靠猜要以 EXPLAIN 的執(zhí)行計(jì)劃為準(zhǔn)??磮?zhí)行計(jì)劃看多了之后我基本只盯幾個(gè)關(guān)鍵字段type、key、key_len、rows、Extra。type 字段表示訪問類型從好到差大致是 const、eq_ref、ref、range、index、ALL??吹?ALL 說明是全表掃描這是最危險(xiǎn)的狀態(tài)index 表示掃描整個(gè)索引樹雖然比全表掃描好一點(diǎn)但也不代表高效range 是索引范圍掃描常見于 BETWEEN、IN、大于小于這類條件ref 是等值匹配二級索引是比較理想的狀態(tài)const 是主鍵或唯一索引等值查詢性能最好。key_len 用來判斷聯(lián)合索引真正用到了幾列。拿聯(lián)合索引 (user_id, status, create_time) 來說如果執(zhí)行計(jì)劃里的 key_len 只覆蓋了前兩列的長度說明第三條索引列沒有參與本次查詢的定位。計(jì)算 key_len 時(shí)要考慮字符集比如 utf8mb4 下一個(gè) varchar(32) 字段本身占 128 字節(jié)再加 2 字節(jié)長度和可空標(biāo)識最終可能到 132 左右。不需要背精確公式但要知道這個(gè)值越大通常意味著索引利用得越充分。Extra 里的信息更需要重視。Using index 表示用到了覆蓋索引全程沒回表Using index condition 表示用上了索引下推ICP能在索引層過濾一部分?jǐn)?shù)據(jù)Using filesort 表示排序沒有走索引需要額外做文件排序數(shù)據(jù)量大時(shí)是性能黑洞Using temporary 則往往和 group by、去重等操作相關(guān)。執(zhí)行計(jì)劃里如果同時(shí)出現(xiàn) Using filesort 和 Using temporary基本可以斷定這條 SQL 還有很大的優(yōu)化空間。3.2 從 1.6 秒到 30 毫秒一個(gè)訂單分頁查詢的真實(shí)優(yōu)化過程我之前接手過一個(gè)后臺(tái)訂單查詢接口功能很簡單根據(jù)用戶 ID 查訂單列表按創(chuàng)建時(shí)間倒序分頁返回。表數(shù)據(jù)量大約 700 萬接口在高峰期經(jīng)常超時(shí)用戶端反饋“列表頁轉(zhuǎn)圈圈轉(zhuǎn)很久”。最初 SQL 長這樣SELECT id, order_no, status, create_time FROM orders WHERE user_id U20240001 ORDER BY create_time DESC LIMIT 20;EXPLAIN 的結(jié)果讓我印象深刻type: ALL possible_keys: NULL key: NULL rows: 682340 Extra: Using where; Using filesorttype 是 ALL直接全表掃還帶 Using filesort。問題很明確表結(jié)構(gòu)里只有主鍵索引沒有任何二級索引能輔助 user_id 過濾和 create_time 排序。優(yōu)化器只能先把 68 萬行全部掃出來再對結(jié)果做一次完整排序最后才取 20 條返回。優(yōu)化方案是加一個(gè)貼合查詢的聯(lián)合索引ALTER TABLE orders ADD INDEX idx_user_time (user_id, create_time);再跑一次 EXPLAIN結(jié)果變成type: ref possible_keys: idx_user_time key: idx_user_time key_len: 132 rows: 38 Extra: NULLrows 從 68 萬直接降到幾十行文件排序也消失了。因?yàn)槁?lián)合索引的葉子節(jié)點(diǎn)已經(jīng)按照 user_id 和 create_time 排序?qū)τ谕粋€(gè)用戶的訂單InnoDB 可以直接從匹配范圍的尾部往前取 20 條不需要把匹配行全部撈出來再排一次。上線之后我又復(fù)測了幾輪單次查詢從原來的 1.6 秒左右穩(wěn)定在 30 毫秒內(nèi)接口 99 分位耗時(shí)也明顯下降。這里給一個(gè)實(shí)操上的建議加完索引之后不要只看 SELECT 是否變快還要觀察 INSERT、UPDATE 的耗時(shí)是否在可接受范圍內(nèi)。像這種訂單表寫入量本身就大加索引之前最好先在測試環(huán)境評估一下寫入鏈路的壓力變化。3.3 覆蓋索引帶來的下一步優(yōu)化同樣是上面這個(gè)查詢?nèi)绻霃氐妆苊饣乇砜梢园?SELECT 涉及的列也放進(jìn)索引。比如 order_no、status 是高頻 SELECT 字段把索引擴(kuò)展成 (user_id, create_time, order_no, status)Extra 里就會(huì)出現(xiàn) Using index整個(gè)過程不再訪問聚簇索引。不過這種方案需要權(quán)衡索引列變多存儲(chǔ)空間和維護(hù)成本都會(huì)增加單個(gè)索引頁能容納的鍵數(shù)量減少索引體積變大會(huì)反過來影響緩存命中率。實(shí)際操作中我通常先看接口的核心瓶頸在哪里。如果 30 毫秒已經(jīng)能滿足業(yè)務(wù)要求就沒必要為了追求 Using index 盲目加長索引。性能優(yōu)化不是把執(zhí)行計(jì)劃做到最完美而是把耗時(shí)控制在業(yè)務(wù)能接受的范圍同時(shí)保證復(fù)雜度和維護(hù)成本可控。這里也想提醒一下不是所有 SELECT 的列都適合塞進(jìn)索引。像長文本、大 JSON 這種字段放進(jìn)索引會(huì)直接把索引體積撐爆通常的做法是只在 SQL 里查詢必要字段或者把大字段拆到單獨(dú)的表里避免拖垮主表的索引效率。4. 索引失效的幾大場景與排查清單4.1 常見失效場景索引設(shè)計(jì)得再好只要 SQL 寫法不配合索引照樣不生效。下面這幾種情況是我在線上排查慢查詢時(shí)遇到最多的。第一類是函數(shù)包裹索引列。WHERE DATE(create_time) 2024-01-01這種寫法的意思是先對 create_time 做函數(shù)運(yùn)算再比較結(jié)果索引樹上的值沒法直接匹配。類似問題還有WHERE YEAR(create_time) 2024。正確做法是改成范圍條件create_time 2024-01-01 AND create_time 2024-01-02這樣索引才能正常走 range 掃描。第二類是隱式類型轉(zhuǎn)換。比如 mobile 字段在表里是 varchar 類型查詢寫成WHERE mobile 13800000000MySQL 會(huì)把字符串列轉(zhuǎn)成數(shù)字去比較轉(zhuǎn)換過程導(dǎo)致索引列上發(fā)生函數(shù)操作索引隨之失效。這類問題排查起來特別隱蔽因?yàn)轭愋娃D(zhuǎn)換是數(shù)據(jù)庫內(nèi)部做的EXPLAIN 里不會(huì)給出很顯眼的提示只看到 type 變成 ALLrows 飆得很高。第三類是前導(dǎo)模糊查詢。WHERE name LIKE %abc因?yàn)闊o法確定前綴索引的排序和定位優(yōu)勢完全發(fā)揮不出來。反過來WHERE name LIKE abc%就可以走 range 范圍掃描。如果業(yè)務(wù)確實(shí)需要后綴模糊搜索可以考慮全文索引或者額外冗余一個(gè)反向字符串字段不要讓這種查詢硬打主表索引。第四類是對索引列做運(yùn)算。WHERE id 1 100這類寫法同樣會(huì)導(dǎo)致索引失效應(yīng)該改寫成WHERE id 99。MySQL 在優(yōu)化階段不會(huì)替你把等式兩邊的運(yùn)算消除掉索引列一旦參與運(yùn)算就無法按原始值去定位。還有一種比較容易被忽視的場景是 OR。如果 OR 條件中的某個(gè)列沒有可用索引優(yōu)化器往往直接放棄索引走全表掃描因?yàn)闊o法保證每一分支都能高效命中。遇到這種情況解決辦法是給所有 OR 列都加上索引或者把 SQL 改寫成 UNION把有索引和無索引的查詢拆開執(zhí)行讓優(yōu)化器可以選擇更優(yōu)的訪問路徑。4.2 大表在線加索引的實(shí)操經(jīng)驗(yàn)我們總說“直接執(zhí)行一條 ALTER TABLE 加索引就行”但真正要在幾百萬行甚至更大的生產(chǎn)表上加索引事情沒那么簡單。InnoDB 從 5.6 開始支持在線 DDL添加二級索引時(shí)允許并發(fā) DML但這并不代表沒有代價(jià)。大表加索引有幾個(gè)典型影響第一個(gè)是主庫 DDL 期間仍然可能產(chǎn)生較大的磁盤 I/O 壓力因?yàn)橐亟ǘ壦饕龢涞诙€(gè)是如果通過主從復(fù)制讓從庫也執(zhí)行 DDL從庫延遲很可能會(huì)被拉高。我踩過這類坑曾經(jīng)在寫流量較大的表上直接跑 ALTER TABLE結(jié)果主庫會(huì)話堆積、從庫復(fù)制延遲飆升。后來總結(jié)了一條經(jīng)驗(yàn)生產(chǎn)環(huán)境大表加索引優(yōu)先放在業(yè)務(wù)低峰期執(zhí)行并提前確認(rèn)磁盤空間足夠同時(shí)觀察主從復(fù)制延遲必要的時(shí)候用并行復(fù)制參數(shù)來緩解。需要回退時(shí)也要小心。索引一旦創(chuàng)建刪除它同樣不是瞬間完成的事也會(huì)觸發(fā)索引頁的回收。所以給大表加索引之前最好是先在測試環(huán)境用完整數(shù)據(jù)量跑一遍 DDL記錄耗時(shí)再?zèng)Q定正式執(zhí)行的窗口。臨時(shí)表、備份表這些手段雖然老套但在關(guān)鍵時(shí)刻能兜底。4.3 索引統(tǒng)計(jì)信息與優(yōu)化器選錯(cuò)索引有時(shí)候明明有合適的索引執(zhí)行計(jì)劃卻選了別的索引甚至全表掃描這通常是優(yōu)化器基于統(tǒng)計(jì)信息做了“錯(cuò)誤”判斷。InnoDB 的統(tǒng)計(jì)信息是從采樣頁里估算出來的如果表的數(shù)據(jù)分布發(fā)生較大變化統(tǒng)計(jì)信息可能沒有及時(shí)更新。解決辦法不是直接上手 FORCE INDEX而是先刷新統(tǒng)計(jì)信息ANALYZE TABLE orders;。刷新之后優(yōu)化器通常會(huì)給出更合理的執(zhí)行計(jì)劃。如果刷新之后依然選錯(cuò)再考慮使用 FORCE INDEX 指定索引。不過 FORCE INDEX 屬于強(qiáng)制手段一旦數(shù)據(jù)分布再次變化手里這個(gè)索引可能不再是最優(yōu)解所以線上使用要非??酥撇⑶乙獙懬宄⑨屨f明為什么強(qiáng)制指定。另外一個(gè)細(xì)節(jié)是優(yōu)化器對“預(yù)計(jì)掃描行數(shù)”和實(shí)際回表成本之間的權(quán)衡不一定準(zhǔn)確。在二級索引上MySQL 要逐行回表才能判斷是否滿足 WHERE 條件如果匹配的行數(shù)太多優(yōu)化器寧愿選擇全表掃描而不是走二級索引。這也能解釋為什么低區(qū)分度字段單獨(dú)建索引經(jīng)常不生效優(yōu)化器快速估算一下覺得走索引還不如全表掃。遇到這種情況要從根本上改變查詢條件或者重新設(shè)計(jì)聯(lián)合索引而不是跟優(yōu)化器較勁。5. 索引日常巡檢與維護(hù)工具速查5.1 如何查看現(xiàn)有索引與潛在冗余索引不是建完就一勞永逸的業(yè)務(wù)變化后原來的索引可能變成累贅。我比較習(xí)慣用SHOW INDEX FROM orders;查看表上的索引情況但這個(gè)輸出太原始實(shí)際維護(hù)時(shí)更多會(huì)對比列順序和查詢場景。目標(biāo)是找出冗余索引。判斷標(biāo)準(zhǔn)很簡單如果一個(gè)索引的列是另一個(gè)聯(lián)合索引的最左前綴那它大概率可以被覆蓋。例如有一個(gè)聯(lián)合索引 (user_id, status)同時(shí)又存在 user_id 單列索引后者就是冗余的。這種冗余索引浪費(fèi)的是每次寫入時(shí)的維護(hù)開銷在高寫入場景下影響非常明顯。也可以直接查詢系統(tǒng)元數(shù)據(jù)比如 information_schema.STATISTICS 和 sys.schema_unused_indexes。后者能直接列出未被使用的索引對日常巡檢非常有幫助。遇到長期不用的索引建議先在業(yè)務(wù)代碼里完全確認(rèn)沒有隱性使用再下線避免直接刪除后突然被打回。有趣的是一些團(tuán)隊(duì)喜歡把所有可能用到的索引都“一次性建好”美其名曰以防萬一。這種做法恰恰是索引膨脹的根源。索引數(shù)量越多寫放大越嚴(yán)重查詢優(yōu)化器的選擇成本也越高。理想的策略是根據(jù)實(shí)際慢查詢和業(yè)務(wù) SQL 的分布來動(dòng)態(tài)維護(hù)而不是靠拍腦袋預(yù)防式建索引。設(shè)計(jì)索引永遠(yuǎn)服務(wù)核心查詢鏈路不為偶爾跑一次的后臺(tái)報(bào)表任務(wù)犧牲主鏈路性能。5.2 慢查詢?nèi)罩九c執(zhí)行計(jì)劃常態(tài)化檢查我把慢查詢?nèi)罩镜臋z查當(dāng)成了日常習(xí)慣。long_query_time設(shè)置 1 秒或更小慢日志里出現(xiàn)的每一條 SQL我都會(huì)用 EXPLAIN 重新看一眼。倒不是為了“批量性能優(yōu)化”而是通過這些執(zhí)行計(jì)劃來判斷未來數(shù)據(jù)量增長后的風(fēng)險(xiǎn)。如果一個(gè) SQL 當(dāng)前雖然只查了 5 毫秒但 EXPLAIN 顯示 type 是 ALLrows 接近整表大小一旦數(shù)據(jù)翻倍它很可能就變成慢查詢。這種隱患是慢查詢優(yōu)化里最值得提前處理的類型。反過來如果 type 已經(jīng)是 refrows 也只有幾十行那基本可以放心很多短時(shí)間內(nèi)不太會(huì)出問題。在維護(hù)索引這件事上我還傾向于定期觀察索引頁的碎片情況。InnoDB 表經(jīng)過大量隨機(jī)刪除、更新后索引頁可能變得稀疏占用空間變大掃描效率下降。必要時(shí)可以通過 OPTIMIZE TABLE 重建表和索引但要注意這個(gè)操作在超大表上的耗時(shí)和資源消耗依舊要安排在低峰期執(zhí)行。一條 SQL 經(jīng)常無法用上索引的時(shí)候我更愿意退一步想想 SQL 邏輯本身是不是有優(yōu)化空間。比如把函數(shù)處理挪到應(yīng)用層完成、把 OR 改成 UNION、把分頁條件從 LIMIT 大偏移改成基于上一頁最大 ID 的游標(biāo)模式。這些做法往往比糾結(jié)單個(gè)索引更有效而且能從根源上降低數(shù)據(jù)庫的壓力。5.3 幾條實(shí)用經(jīng)驗(yàn)總結(jié)文章寫到這里把我這些年跟 MySQL 索引打交道的核心體會(huì)整理一下。不要憑感覺建索引先用區(qū)分度和核心查詢場景做判斷。區(qū)分度太低、查詢本身命中數(shù)據(jù)量過大的字段建了也是白建。寫完任何一條涉及多條件篩選的 SQL都養(yǎng)成跑一次 EXPLAIN 的習(xí)慣。執(zhí)行計(jì)劃里的 type、key_len、rows、Extra 四個(gè)字段就能回答 90% 的“為什么慢”問題。聯(lián)合索引的列順序要從“等值優(yōu)先、范圍其次、排序最后”這個(gè)思路去設(shè)計(jì)。這個(gè)順序排錯(cuò)了索引實(shí)際價(jià)值會(huì)大打折扣。線上改索引必須有回退方案且要在業(yè)務(wù)低峰期執(zhí)行。大表 DDL 不是一句 ALTER TABLE 就能草率搞定的。保持索引數(shù)量的克制。一個(gè)表的索引數(shù)量超過 5~6 個(gè)之后寫入性能的劣化往往會(huì)超過新增索引的查詢收益需要非常謹(jǐn)慎地評估。索引是手段讓查詢快速返回結(jié)果才是目的。這一點(diǎn)我一直寫在團(tuán)隊(duì)的開發(fā)規(guī)范里也是每次評審表結(jié)構(gòu)時(shí)最常強(qiáng)調(diào)的一句話。慢查詢排查的次數(shù)多了之后你會(huì)發(fā)現(xiàn)真正需要你記在腦子里的不是各種復(fù)雜的索引語法而是一個(gè)樸素的思考習(xí)慣這條 SQL 想要定位的數(shù)據(jù)到底被存在哪里、怎么才能最快找到它。最后再多說一句每次優(yōu)化的答案都藏在執(zhí)行計(jì)劃里。不需要背下所有語法細(xì)節(jié)但一定要能看懂 EXPLAIN 正在做什么。慢通常不是 MySQL 的問題而是我們對數(shù)據(jù)的訪問路徑還不夠理解。把這條路徑理清了索引設(shè)計(jì)自然會(huì)跟著清晰起來。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月98| 天天噜| 亚洲黄色网址| 婷香五月| 亚洲美女网Va| 久99久热只有精品国产99| 涩涩激情五月婷婷| ..真实国产乱子伦对白在线_欧| 久久综合五月| 久久久五月婷婷| 碰碰91| 97干在线视频精品店| 婷婷色九月| 色狠狠六月| 婷婷欧美综合| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 99久久综合网| 中文字幕不卡+婷婷五月| 五月丁香婷婷啪啪综合网| 五月天天综合| 热久69| 国产AV一区二区三区日韩| 1024欧美日韩精品久久久| 狠狠色噜噜狠狠狠狠综合| 夜夜做夜夜愛| 五月激情基地| 狠狠操天天操综合| 2025最新亚洲激情在线| 丁香色六月| 人妻中文字幕精品| ou洲色吧| 成片免费观看大全| 在线sebiav精品视频| 中文激情网| enecarbon-materials.com污K127封锁请涟系@wip1688 | 五月香婷婷| 五月丁香六月综合图| 丁香五月天视频| 超碰在线免费9| 综合久久六月| 色五月婷婷色五月婷婷色五月婷婷| 国产伊人五月天| 国产精品色婷婷99久久精品| 色九九丁香九月色九九色| 综合色、色综合| 亚洲中文字幕av| 大香蕉五月丁香| 五月亭亭直播| 色五月婷婷91| av在线资源| 婷婷在线激情| 欧美乱码国产一级A片| 五月天婷婷色播在线网| 五月婷婷香蕉| 丁香婷婷在线| 激情亚洲网| 精品人妻久久久久久久| 婷婷丁香人妻天天久久| 天天日夜夜帕| 97五月久久丁香婷婷| 久久开心五月天激情| 精品三区影院| 九九热只有精品| 国产精品日韩十五区| 婷婷久久五月天| 99视频啪啪| 亚洲欧美成人在线| 五月丁香天堂网| 亚洲人妻Av| 这里只有精品在线看| 日 日干 日日做| 妇激情基地| 欧洲综合视频| 五月天另类综合网| 久久这里只有欧美| 成人在线综合| 色五月网址| CHINESE熟女老女人HD视频| 亚洲成av人影院| 国自产拍偷拍精品啪啪一区二区 | 久久成人精品视频| 色综合天天综合成人网| WWW久久久| 久久人人妻| 九九这里只有精品| 9色婷婷| 99久热在线精品99re6热| 亚洲啪啪自拍| 六月丁香啪啪| 天天爱天天做天天爽| 停停五月天激情网| 91精品婷婷国产综合久久| 四色99久久| 色婷婷久久| www.天天干| 久久精品一区二区三区四区| 日本久久人| 亚洲中文字幕av| 婷婷操逼| 91色碰| 另类激情码| 婷香五月网在线| 艹| 涩五月婷婷| 99热这里只有精品9| 超碰91在线| 国产高潮A片羞羞视频涩涩| 色五天综合| 99九九热视频免费| 久久精品在线| 玖玖爱综合网| www.99色在线| WWW,色五月| 丁香五月网| 99精品在线观看视频| 亚洲激情AV| 精品香蕉99久久久久网站| 《久久综合九色综合97婷婷| 亚洲AAAA网| 婷婷五月色情| 在线观看日韩12345区| 久久hd| 婷婷六月激情小说网| 激情丁香五月婷| 五月激情婷婷国产精品久久久久久| 99热都是精品| 人人爽欧美婷婷久久久五月丁香 | 久久婷婷五月综合| 婷婷射丁香| 亚洲男人的天堂婷婷色五月| 91日本在线观看| 青青操日本摸摸看看| 在线成人网站| 色爽九九| 2021日韩无码| 欧美色欲色欲天天天www| 99九无网码| www.金莲av| 99无码超碰| 色丁香五月婷婷综合久久| 开心五月婷婷激情| 国产97色在线| 色五月大| 色婷婷九月综合| 亚洲六月色| 麻豆123区| 婷婷在线观看五月天在线视频| 亚洲六月色| 99久久久99久久91熟女| 99,色| 丁香五月天AV| 91seAV| 天天色伊人| 激情小说视频图片| 亚洲激情网| 色色色色综合| 狠狠久久婷| 丁香五月在线观看综合| 超碰人人摸人人操| 色色色色色色97| 婷婷五月色天| 九九人妻福利| 婷婷色导航| 日韩狠狠色| 一起草性爱不卡视频| 亚洲深喉aV| 天天玩天天摸| 91啪啪视频| 99在线视频播放| 思思re99视频在线观看| 日本9区视频| 国产婷婷色五月| 综合色影院| 国产肥白大熟妇BBBB视频| 久久综合影院| www色婷婷| 婷婷中文无码| 香蕉久久国产AV一区二区| 色婷婷国产精品综合在线观看| 人妻无码精品一区| 六月婷基地| 99亚洲精品视频| 99日本视频在线观看专区| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 激情五婷网| 五月天播播中文字幕 | 97狠狠色| 激情五月婷婷综合| 六月丁香婷婷开心综合基地| 色婷婷播放| 亚洲韩国日产综合AV| 婷婷色丁香六月| 五月丁香六月停停停| 欧美日韩aaaa| 久久99综合网| 天天色天天日| 26uuu亚洲色| 亚洲无AV在线中文字幕| 狠狠久久婷五月综合色| 影音先锋一区二区资源站 | 五月天丁香久久| 四色五月婷婷| 天天色粽合合合合合合合| 久久人五月| 99九九视频精彩在线| 免费在线观看av网站| 狠狠色情婷婷| www.com.色色| 激情小说婷婷| 26uuu欧美宗合| 99热只有精品在线| 五月天六月色| 亚州色色色| 日韩精品成人在线| 久久久久久人妻| 亚洲十月婷婷综合| 久久久久网站| 91男同视频| www.激情五月天.com| 婷婷五月色播| 婷婷五月天成人综合网| 亚韩在线视频| 操大屄五月天视频| www99精品| 色色永久| 亚洲成Av人片乱码色第1集| 97人人操| 国产日日操夜夜操的肉棒视频| 色色色色色色色色五月先| 久久性爱视频| 少妇水多A片太爽了| 色色婷五月天| 欧美三级黄色片久久| 久久久婷| 黄色五月婷| 任你日视频| 97成人丁香婷婷| 天天综合精品| 久久婷婷五月综合啪| 日本a片网址| 91狼友视频网页更新| 香蕉婷婷色五月| 亚洲99激情| 色逼综合网| 日韩色五月| 操国产人妻| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 五月天综合区| 99热一本| 99热亚洲| 天天日天天插| 激情的五月| 久久婷婷久久| 操日本色| 沈娜娜av| 丁香婷婷九月在线| 任你躁XXXXX麻豆精品| 狠狠色狠狠| 天天操综合网站| 久久五月天色婷婷| 色热久| 午夜69成人做爰视频| 99精品视频偷拍| 丁香婷婷中文字幕| 襙比视频| 激情啪啪五月天| 五月天怕怕| 欧美搡BBBBB摔BBBBB| 另类激情五月在线视频欧美| 亚洲va欧洲va国产va不卡| 激情五月丁香综合蜜桃| 青青草性爱视频| 色婷婷五月天偷拍| 一级无码作爱片| 日本精品人妻无码77777| av久热| 99精品久久久久久久婷婷久久| 影音先锋色色色资源色资源色| 五月丁香婷婷婷激情爱爱| 男人的天堂婷婷色五月| 激情文学综合婷婷五月天丁香花| WWW.桔色成人.COM入口| 伦乱美欧| 色色色综合视频| 日韩成人电影AV| 五月婷婷啪啪网| yazhochengrenavwang| 久777| 丁香五月成人| 蜜桃五月天| 五月综合色| 国产成人+综合亚洲+天堂| 六月丁香网| 五月好婷婷| 婷婷五亚洲| 伊人久久艹| 久色网址| 五月丁香美女视频| 欧美天天爽| 婷五月丁香俺| 亚洲avjiujiur91| 79亚洲精品少妇| 激情 五月 婷婷 丁香| 91操操| 丁香婷婷六月天| 成人Av在线大片| www,超碰| 六月婷婷激情| site:jszngf.com| 天天做天天双| 天天色综合网吨吧| 天天摸天天做天天爱天天爽| 五月丁香色婷婷色| 色偷偷综合| 色婷婷综合网站| 午夜不卡久久精品无码免费| 99精品在线观看| 无码少妇高潮喷水A片免费| 天天天天操| 国产在线aaa片一区二区99| 国外亚洲成AV人片在线观看| 热久综合| 日韩在线99| www99精品| 婷婷色五月天色| 黄色片区子| 99热情这里只有精品在线播放| 第四色色六月色综合| 国语对白性爱视频播放| 色天天综合| 五月精品| 99久久综合网| 大香蕉视频99| 99热精品在线播放| 青青草深爱激情网| 日日操夜夜爽| 婷婷伊人綜合中文字幕小说| 九九九九中文字幕| 婷婷激情中文综合| 高清无码一区二区三区四区| 激情深爱五月天| 激情婷婷| 狠狠狠狠狠狠草| 久婷婷色| 秋霞网在线观看理论91| 女人天堂AV| 久热91| 69天堂99| 五月丁香婷婷综合网| 婷婷激情综合无月| 99热| 五月婷婷色色爱| 五月天停婷基地| 青青热久久综合| 天天日天天干天天天| 最新色色五月天| 成人美女网| 大香蕉欧美在线| 狠狠色丁香五月婷巨| 激情 婷婷 插| 97干在线视频| 色99无码| 啄木鸟黑丝一区二区| 六月丁香五月天| 亚洲九九视频| 91人碰| 99热6这里之有精品| 婷婷五月丁香六月天亚洲综合| 六月99天天婷婷激情综合| 久久久99精品免费观看| www色色com| 教师性爱毛片| 丁香久久| 九九综合五月欧美| 五月天开心色情网| 色婷婷久久| 天天干天天干天天干天天干天天干| 国产色色小草视频| 欧美成人热| 97干在线播放| 亚洲中文AV网站| 天天日天天插天天操| 五月天播播中文字幕| 538在线精品| Av九九| 婷婷五月丁香综合人妻| 无码人妻丰满熟妇奶水区码| 天天综合情| 色开心五月丁香| 色五月丁香激情视频| 91午夜激情| 色欲色欲久久宗合网| 九九99久久| 99色热视频在线| ..真实国产乱子伦毛片| 婷婷五月花免费视频在线| 五月丁香婷婷AV| 97婷婷色| 日韩五月婷婷| www久| 99日在线视频| 棕合影院色色| 色播播婷婷| 久久一热| 亚洲综合另类| 色综合天天| 久碰久| 天天色天天爱天天爽| 亚洲激情综合| 五月丁香婷婷五月色| 成人午夜无码视频| 99热6这里只有精品6| www.yw尤物| 亚洲av成人在线| 欧洲色色| 色哟哟精品| 五月婷婷丁香六月| 久久婷婷亚洲| 天天干天天干天天操| 色色丁香五月天| 日韩在线99| 色五月激情综合| 久久五月天婷婷| 色综合色色色色色色综合| 国产另类综合| 成人一区在线观看| 97碰久久| Se.婷婷五月天| 99色在线| www.五月天。com| 人与禽A片啪啪| 五月开心婷婷| 99啪在线视频| 五月伊人网| VA色婷婷| 五月婷丁香| 五月天婷婷六月| 97在线观视频免费观看| 色五月婷婷影院| 日韩无码性爱| 色五月综合激情| 亚洲色9| 亚洲人妻av伦理| 538久久| av婷婷丁香| 五月婷婷天天| 丁香丁婷五月激情| 五月婷婷香蕉视频| 九色啦蜜臀| 大香蕉久操| 9久久精品| 桔色成人官方网站| 久久精品天| 9l视频自拍9l九色9l成人| 中文字幕在线免费观看视频| 69超碰在线| 99思思热只有在这里看| 五月丁香另类图片| 无遮羞AV| 午夜成人综合| 少妇激情五月婷婷| 东北黄色一级| 操久久网| 色综合天天天天做夜夜| 婷婷六月啪啪| 色五月丁香五| 婷婷丁香花五月天| 激情五月丁香在线观看直播| 久草 tingting| 久久久91| 午夜婷婷六月天| 肏屄色播伊人97婷婷| 无码99| 99热成人在线观看| 久久婷色| 婷婷性爱视频在线| 国产小精品| 激情五月天综合婷婷网| 深爱网深爱综合网| 丁香五月婷婷Av| 成人在线视频网| 天天射综合网夜夜操| 欧美精品啪啪| 五月刺激丁香月综合| 久久久久亚洲AV成人无码电影| 青青热久久综合| 综合九色| 99成人| 丁香五月婷婷色播艳门照| 婷婷亚洲影院| 久久婷中文字幕| 欧美搡BBBBB摔BBBBB| 丁香婷五月天开心六月| 国产另类综合| 婷婷国产日本欧美| 97狠狠色| 伊人综合婷婷| 操91综合网| 丁香五月在线| 九热精品| 99视频这里有精品| 99热在线观看这里只有精品 | 欧美综合婷婷网| 天天插天天射天天干| 麻豆WWWCOM内射软件| 99精品久久久久| 亚洲色五月天是什么| 激情婷婷久久| Aα在线免费观看| 日日操天天操| 激情www| 亚洲国产精品VA在线看黑人| 久久婷婷五月天亚洲欧美| 五月天另类小说亚洲| 99久久.www| 婷婷五月丁香综合瑟瑟| 亚洲愉拍99热成人精品| 97碰在线视频| 婷婷天天色| 五月婷婷六月丁香| 天天综合中文| 五月丁香六月婷婷无码| 日本不卡五月婷婷丁香| 中文字幕簧片| 3p日韩网站视频| 性爱先锋AV| 久9热| 97超碰在线免费观看| 丁香五月色激情| 丰满少妇乱A片无码| 涩涩五月天| 亚洲国产成人在线| 色婷婷99| 色色a| 99爱视频在线| 99精品热| 亚洲超碰在线| 国产毛片精品一区二区色欲黄A片| 天天日天天操心| 久久综合五月| www.zbzhongsen.com| 久草五月天| 日本99久久| 综合色久| 大香蕉手机视频| 丁香五月婷婷影院| 4399成人黄A片| 丁香五月影院| 午夜天天精品视频| 一级片无码| 婷婷丁香久久网| 亚洲va久久久噜噜噜久久天堂| 激情小说色五月| 九九热123| 六月婷婷天堂| 国产亚洲99久久| 97干视频在线| 大香蕉久久| 久久五月视频| 久噜久噜| 天天日天天色| 久久综合性| 这里只有精彩视频| 日本不卡一区二区三区| www.ywav| 欧美日韩国产一区| 啪啪色激情五月天| 五月天四色房丁香| WWW.桔色成人.COM| 开心激情综合| 日日操夜夜擼| 99婷婷五月天激情| 亚洲另类在线观看| 99色爱| 五月天婷婷综合网| 九九热在线视频观看| 99性爱| av在线婷婷| 日韩小视频在线99| 91爱啪啪| 色五月五月天| 另类小说五月天| 成人在线视频网| 99热在这里只有精品| 日本乱子人伦在线视频| 99ri视频在线观看| 精热在线综合网| 久久九精品| 婷婷五月天国产| 亚洲超碰在线| 色色丁香五月天社区| 大香蕉精品视频| 综合久色五月| 色色色色色网| 欧美成人AAA片一区国产精品| 久久无意婷婷| 五月天色播网| 色五婷婷在线视频| 最近中文字幕大全免费版在线| 97婷婷五月丁香| 色噜噜婷婷| 免费播放99性爱视频| 婷婷五月丁香啪啪| 久久久久久久久月丁| 9精品视频在线观看| 伊人激情| nvrentiantang av| 亚洲国产精品二二三三区| 9色在线视频精品观看| 91xxxx九色| 婷婷丁香午夜综合影视| 丁香激情网| 丰满少妇猛烈A片免费看观看| 9 1大香蕉| 五月天无码视屏播放| 99热精品在线观看| 9l视频自拍9l九色成人| 色色日本欧美| 五月天电影网| h在线看免费版在线看| 黑人无码一区| 深爱婷婷丁香五月激情| 久久综合五月天| 国产日韩av片| 人人爽欧美婷婷久久久五月丁香| 久久精品A片777777| 婷婷永久在线| 色婷婷六月| 久久无码成人| www.狠狠狠狠| 99国产在线| 久人操| 亚洲婷婷激情888精品久| 99色免费观看全部| 国产免费AV在线| 99爱视频在线播放| 9色婷婷| 夜夜骑操AV| 久草婷婷| 99九九综合久久九九| 99色色色色| 亚洲成人AV高清字幕| 这里只有精彩小视频视频网站| 五月天婷婷綜合院| 色五月自偷自拍婷婷婷婷| 天天cha成人综合网| 五月天伊人| 五月天婷婷久草丁香| 久狠日av| 丁香五月婷婷啪啪视频| 很很干在线视频| 啪啪综合网| 五月婷婷新网站| 激情婷婷| 五月婷婷色| 九九99免费理论| www,99色| h亚洲| 亚洲成人av在线播放| 99视频在线精品免费观看2| 日韩精品视频中文字幕| 色色网站免费观看| 丁香五月天操B| 婷婷丁香基地在线| 九九艹女| 99久热这里只有精品| 91在线看片| www.99成人视频| 色五月美女| 亚洲人成人五月天| 五月丁香五月丁香五月丁香五月丁香91| 天天操夜夜橾| 丁香六月婷婷社区| www.射伊蕉婷婷| 色婷婷六月天| 天天操比比| 婷丁香久综合| 人妻熟人中文字幕一区二区| 五月婷网站| 亚洲区1| 天天澡天天狠天天天做| 99久久精品国产色欲| 天天综合社区| 成人 视频免费观看网站| 色色色色综合网| 久久99免费视屏| 五月天激情小说| 79色色免费| 日本A片一区| 26uuu成人网| 99热青青草| 玖玖五月| 婷婷免费成人视频| 人碰人人人玩91| 国产欧美va| 欧美婷婷丁香五月社区| 亚洲V国产V欧美V久久久久久| 91小黄书网址在线观看| 丁香五月婷婷欧美成人色图| 久99久在线| 免费做A爰片77777| 婷婷伊人久久综合| 五月婷婷色播| 中文字幕 码精品视频网站| 午夜电影网VA内射| 成人在线综合| 韩国真做片在线观看| 日日操,夜夜撸| 色久影院| 内射爽无广熟女亚洲| 日韩色色视频www| 人伦30P| 99原创自拍视频在线观看| 伊人啪啪网| 久久精品99| 亚洲精品a成人在线播放| 激情五月婷婷| 五月天婷婷在看| www91久久| 婷婷六月色| 99这里只有精品视频| 久久永久网址| 精品动漫 无码av| 国产成人亚洲综合A∨婷婷| 五月婷导航| 天天色播| 丁香五月伊人| 亚洲性爱电影| 女人天堂 AV| 色色99| 丁香六月天婷婷| 丁香五月性爱| www色婷婷com| 思思久久精品视频| 99久操| 99熟女| 丁香五月婷婷基地| 丁香婷婷六月天| 欧美日本黄色| 国产黄色av| 九九Av| 日本99在线| 久久综合天天综合| 99热这是里只有精品| 97丁香五月| 人妻有码乱操| 成人精品视频99在线观看免费 | 天天综合五月| 久月婷婷| 2017人人操| 午夜少妇在线观看视频| 91丨九色丨高潮丰满日本| 就爱啪啪婷婷| 成人深爱丁香五月| 久久久久久9| 久久99免费视频| 男人的天堂五月丁香| www五月婷婷88导航| 天天干一干| 天天色综合综合| 婷婷五月天午夜激情影院| 大香焦A∨| 99热这里都是精品| 夜夜操天天干| 激情丁香五月天| 丁香婷婷色五月合集| 五月天激情偷拍| 久久综合五月天| 99色日本| 蜜臀av粉嫩av懂色av| 九九色情网五月天| 色九四色| 久久99最新地址| 大地9中文在线观看免费高清| 另类在线| 五月丁香婷婷激情视频| 久久96热| 99热777| 99热这里只有精品一| 五月花成人网| 99在线免费视| 午夜理论片最新午夜理论剧| 91碰碰视频| 五月丁香六月激情综合| 色综合中文色综合网| 色日本综合| 99精品视频在线观看| 日韩无码色色| 亚洲视频99| 天天操天天操天天操天天操天天操| 婷婷伊人网| 九九九热精品| 婷婷色五月天在线| 思思热在线视频精品| 精品人妻伦一二三区久久| www激情| 五月天色图| 狠狠干综合| 亚洲乱码日产精品BD| 亚洲中文字幕在线观看| 日日躁夜夜躁狠狠久久AV| 国产3p露脸普通话对白| 日韩性爱AV| ztEJj| 秋霞丝袜啪啪啪| 毛片新网地| 成人AV在线网站| 婷婷五月深情丁香深爱日韩| 六月香五月婷| 99热这里只有精品最新| 99re这里| 久久婷婷五月| 99热老司机| 亚洲久久激情| 亚洲V国产V欧美V久久久久久| 九九九激情网| 9精品视频在线| 情色五月天网站| 五月婷婷在线视频免费观看| 亚洲综合五月天综合| 无码人妻一区二区三区免费九色| 天天激情| 婷婷成人综合| 五月天综合| 亚洲AV成人在线观看| 色女人久久| 99热免费精品热久久66| 天天模,夜夜模夜夜爽| 九九性视频| 超碰久热| 久久艹 五月天| 五月婷婷丁香网| 婷婷伊人网| www.色窝| 夜夜操激情| 狠狠香蕉| 亚洲成AV人片在线观看| 99精品久久久久久久| 婷五月丁香俺| 日本操逼九九九九58日本操逼| 丁香五月婷婷偷拍| 日韩成人免费电影| 激情又色又爽又黄的A片| 五月色亭丁香| 久久久人妻人伦| 五月色俺婷婷| 99碰碰| 99热最新国内| 91婷婷在线| 操人妻90p| 六月婷婷在线| 色五月激情| 国产成人精品一区二三区熟女在线| 天天综合91入口| 色五月涩涩婷婷蜜桃| 91精品久久久久久综合五月天| 色狠狠色| 男人的天堂在线婷婷| 五月丁香婷婷啪啪| 色欲一二三| 97五月天| a九九热www| 任你爽精品免费视频6| 五月婷婷深爱六月| 337p大胆噜噜噜噜噜91Av| 丁香五月之久操视频| 激情五月天久久丁香| 婷婷激情五月色综合| 狠狠爱综合| 97色操| 五月丁香色婷婷基地| 午夜成人AV在线| 国产成人亚洲综合亚洲| 噜色精品| 91丨九色丨43老版熟女| 91大操| 插插插丁香五月婷婷| 97五月天| 婷婷五月情| 丁香五月情| 亚洲国产va| 99爱视频| 久久免费精品小视频| 丁香婷婷色五月| 久久婷婷五月综合色丁香| 久久五月婷综合| 蜘蛛女免费观看完整版高清电影| 婷婷丁香色五月| 99色爱| 婷婷第六色| 五月丁香色婷婷久久| 色婷婷av综合网| 激情伊人五月婷婷久久| 五月丁香六月婷综合成人综合| 欧美色婷婷| 99人碰碰碰| 五月丁香激情综合网| 色九月综合| 激情激情激情网| 狠狠干,狠狠操| 99热最新网址| 色综合区| 婷婷五月色综合| 99网99热| 9超碰在线| 久久婷婷五月免费视频| 久久久九九视频精品18| 五月激情网络| 少妇高潮呻吟A片免费看软件| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 99五月香婷婷丁香在线视频| 亚洲AV激情五月综合网| 九九热最新| 操操碰| 九九色热| 这里只有精品免费在线视频| 九月婷婷久久久| 欧洲亚洲免费视频9| 久9热视频| www.99精品在线| 婷婷五月天网址| 国产精品色婷婷99久久精品| 色爱99| 九九九九国产| 99热这里只有精品青草| 六月丁香婷| 久久99网站| 色色综合日韩| 亚洲经典三级| 色色色色av777| 熟妇高潮一区av| 免费五月婷婷网| 五月婷婷六月综合| 天天综合五月| 激情视频91| 色综合久久天天综合网| 亚洲人妻AV| 内射爽无广熟女亚洲| 亚洲激情丁香五月基地| 婷婷色五月91啪啪| 色五月天电影| 丁香激情四射| 激情www| 伍月激情天| 91re色综合视频| 五月的色婷婷高潮| 婷婷激情六月综合| 五月丁香六月婷婷网| 久久久久久久久久久久久久人妻视频| 亚洲精品久久久久久久久久吃药| 五月天欧美激情| 九九热99久久99| 久久大香蕉同僚| 91.com男女操| 亚洲五月婷婷| 九九免费视频| 五月婷婷激情69| 五月天堂色色| 亚洲午夜AV| 九九综合视频在线观看| 色婷婷狠狠| 色婷婷五月天天天天天| 日本三级日本黄色| 激情五月天综合网| 亚洲色五月天在线| 五月丁香综合网| 夜夜资源站| 激情五月亚洲综合网| 欧美激情 日韩无码 婷婷 五月天| 99热日| 五月情丁香色| 婷综合六月| 九九色影视| 色婷婷影音| 另类亚洲视频| 亚洲激情综合| 亚洲av骚货| 97色碰| 欧美婷婷丁香社区在线播放| AV成人在线播放| 亚洲AV激情五月综合网| 激情伊人网| 亚洲视频一区| 激情五月丁香婷婷| 色婷婷六月激情| 色婷婷在线影院| 免费观看欧美成人AA片爱我多深| 中文AV网站| 美女五月天婷婷| 婷婷网影院| 日韩成人精品中文字幕| 激情综合激情综合| 97婷婷丁香五月天激情图片| 99人人操人人爱久久久| 婷婷在线网| 婷婷永久在线| a久久免费视频| wuyuedingxiang99| 超碰高清在线| 五月天桃色深爱网| 思思久久99| 六月丁香婷婷亚洲中文玖玖| 久久免费9| 99热黄| www.色婷婷| 色色色色色网站| 色婷婷婷av | 日韩野外 无套| 激情综合色| 激情综合网五月婷婷| 插插干干干色| 黄色AV日韩| 欧美毛卡| 久久5 9视频免费观看| 久久婷婷五月天| 高清无码视频网址| 5月婷婷性视频| 婷婷五月色| enecarbon-materials.com污K127封锁请涟系@wip1688 | 99色在线视频| 中文字幕 久久9999| 日日日,com| 五月丁香黄色| 天天久久九九| 97在线观看| 五月丁香六月天| 五月天综合网| 国产精品色色| 综合一本道| 亚洲99手机免费看视频| 丁香六月婷婷综合激情欧美 | 五月丁香久久| 亚洲中文乱字字幕在线永久| 91狠狠色丁香| 天天日天天干天天插天天射| 色欲操| 99婷婷| 五月天大香蕉| 九九久久99精品免费观看www| 日本A片一区| 最新婷婷五月丁香| 婷婷视频在线| 丁香五月天AV在线| 亚洲字幕AV一区二区三区四区| 五月婷婷六月丁香| 五月丁香色色网| 综合久久99| 免费视频99| 99热在线观看免费精品| 婷婷五月丁香五月| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 超碰在线个人观看| 国产成人精品一区二三区熟女在线| 婷婷亚洲综合| 色屌丝中文字幕| AAA久久| 色婷婷综合网| 免费观看18视频网站| 91久久久久久| 欧洲色| 爱99干99| 熟女强人妻一区二区三区四区无| 高潮毛片又色又爽免费| 日韩一本操| 五月天激情美女久久| 丁香色婷婷色手机免费在线| 人人爱人人草| 婷婷精品免费久久| 成人av免费观看| 日本色色色| 久碰视频| AA丁香综合激情| 中文字幕按摩做爰| 丰满人妻一区二区三区| 九九久久综合| 亚洲乱码日产精品BD| 中国女人内射6XXXXX| 中文超碰视在线| 亚洲在线成人| 五月婷婷深深爱| 激情综合婷婷五月| 丁香五月婷婷色五月| 中文aV网| 26uuu国产激情视频| 日日狠狠久久偷偷四色综合免费| 天天插插天天| 欧美日本va| 五月丁香六月激情综合欧美| 狠狠人人婷婷| 五月婷婷大香蕉| 欧美精品99| 日本天天操| 69热91天堂| 丁香网五月天| 日韩色色一区| 91久久久久久| 天天色五月| 丁香五月天婷婷中文| 婷婷丁香五月综合网上 | 丁香五月综合| 色八月婷婷| 亚州日本欧州韩美高青高潮一| 日操夜撸| 99无码视频| 成人做爰A片免费看视频| 亚洲av网址| 激情六月婷婷| www.婷婷com| 蜜臀av粉嫩av懂色av| 亚洲综合激| 丁香婷婷视频一区二区| 丁香五月激情啪啪| 武则天精品久久| 中文字幕精品无码一区二区| 91碰九色| 丁香五月激情宗合网| 色五月综合激情| 91操网| OYIWbGcPu8H| 亚洲一区国产传媒| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 大香蕉伊人久久| 成人欧美Va| 久播影院免费观看电视剧大全最新网| 久久怡红院| 玩熟女五十AV一二三区| 91九色大屁股| 99re思思精品在线观看| 久碰婷婷视频| 丰满少妇乱A片无码| 99热插| 婷婷五月天亚洲精品| 日韩成人中文字幕| 伊综合蕉| 激情综合五月激情17| 开心五月激情五月丁香五月婷婷| 97在线刺激| 久久婷婷五月综合色欧美| 日本在线观看91| 99视频色在线观看| 色婷婷丁香五月天在线观看| 丁香六月婷婷| 亚洲最大成人综合网720P| www.久久爱.com| 久久激情五月网| 可以看的av网站| 婷婷久久免费| 色情免费视频播放| se99视频| 9久久久| 伍月婷丁香花全集| 夜夜爱网站| 日本高清久| 日日夜夜爽| 亚洲AV影片在线观看| 激情小说五月天| 激情第四色| 五月丁香 狠狠爱| 五月婷婷内射网| 日韩av在线电影| yiqicaoav| 五月丁香啪啪啪啪| 色综合com| 超级碰碰碰碰视频| 538久久| 丁香六月欧美| 99九九热视频免费| 婷婷五月天激情小说网站| 操人无码| 狼人婷婷久久| 无码99| 丁香色情五月综合激情| 国产精品色色色色| 激情av| 欧美极品999| 久久99综合网| 九月激情婷婷丁香| 婷婷五月天激情在线观看| 五月天堂色| www.色婷婷| 任你操精品免费| 婷婷.com| 亚洲乱码日产精品BD| 天天日天天插天天操| 日韩啪| 狠狠色色综合| 丁香六月欧美| 99热 在线播放| 日日日天天干| 另类亚洲电影| 夜夜做夜夜愛| 色色亚洲99com| 五月婷婷五月天天| 麻豆WWWCOM内射软件| 欧美五月丁香在线| 天天操天天插| 亚洲免费视频网站| 五月婷婷综合在线视频小说| 超碰操日| 色五月丁香激情| 日日影院 | 人人看人人草人人摸| 精品无码久久久久久久久| 天天综合图片| 亚洲精品V天堂中文字幕 | 国产视频福利| 激情99| 日本九九九九| 色综合久| 六月婷婷天天操夜夜爽视频| 五月天色色网站| 五月天婷婷基地丁香| 亚洲中文字幕av| 色五月丁香五月五月婷婷| 色色五月天婷婷| 五月婷丁香在线视频在线| 亚洲欧洲中文日韩久久AV乱码| 久久久人人人妻丝丝丝| 中文字幕视频色婷婷| 婷婷色爱| 97AV人人插人人操| 91ncm视频| 三级三久久线久久99久目本WW| 天天爽天天| www.夜夜夜| 九九伦子片| 久久久噜噜噜久久人妻| 日韩精品超碰在线观看| 天天激情欧美美女| 日韩成人中文字幕| 日本精品99| 99热99ai| 激情亚洲五月| 欧美成人色婷婷| 碰碰91| 99成人| 激情五月深爱婷婷| 伊人久久中文网| 久久久久er热| 五月天色婷婷小说| 国产操逼网站| 狠狠色狠狠操| 激情丁香五月激情婷婷| 九九中文色色| 亚洲在线综合| 五月婷婷这里都是精品| 丁香婷婷六月| 天堂中文国产| 天天操夜夜夜夜爽| 99re久热| 狠狠色综合网站久久久久| 99热久草| 五月婷婷五月丁香综合| 激情九月婷婷九月| 色婷另类| 99热99日…..| 91综合在线观看首页| 亚洲精品影视| 日本va视频| 日本色色影院| 五月香婷婷| 九九热这里只有精品6| 久久丝丝热| 大鸡巴伊人网| 97操碰| www,天天干|