欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

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
返回資訊列表
激情综合网,五月| 国产精品爽爽久久久久久| 99热国产在线| 青草青草久热这里只有精品| 日韩AV在线免费| 欧美色九| 婷婷综合五月天亚洲综合| 1024国产| 婷婷综合一二三| 日韩成人精品中文字幕| 五月丁香久久综合| 日韩精品一区二区亚洲AV观看| 五月天六月丁香| 丁香五月激情久久麻豆| 五月丁香亭亭操逼| 啪到高潮激情丁香五月| 午夜爱爱爱成人| 五月丁香九九| 亚洲综合欧美色丁香婷婷888月图片| 99热在线精品播放| 开心五月网 | 插插干干干色| 99思思在线视频| 99久免费视频| 成人国产网站| 婷婷五月天首页激情| 综合色播| 色无码| www.五月天色色色| 国内久久婷婷| 日韩不卡123| 国产精品色色| 亚洲另类电影| www.丁香五月| 精品久久久人妻| 五月丁香六月婷婷无码| 色婷婷丁香| 五月天激情站| 丁香香五月激情免费视频| 91嫩草久久| 亚洲精品九九| 欧美六月婷婷| 久久色吧| 五月丁香婷婷激情四射迷人| 51精品国内探花| 疯狂做受XXXX高潮A片动画| 日本爆乳片手机在线播放| 99热亚洲精品66| 五月天天天开心激情网| 亚洲女婷婷五月基地综合久久久| 六月婷婷视频| 天天干天天操天天上| 欧洲永久精品| 欧美婷婷五月无砖| 丁香六月成人网| 欧美日韩大黄| ji'qing'luan'ren'lun| 97涩涩丁香五月天| 思思久日精品视频| 激情五月影院| AV在线大香蕉| 久久久精品色| 成 人片 黄 色 大 片| 丁香五月天啪啪| 婷婷丁香花五月天| 99色综合| 4438亚洲欧美| 亚洲成人综合网在线免费观看| 丰满人妻妇伦又伦精品国产| 日比视频91| 99干日日干| 国产99久久久国产精品免费看| 色99视频| 色婷婷成人做爰A片免费看网站| 夜夜操狠狠操| 国产高清av黄色看片| 国产欧美熟妇另类久久久| 99热| 亚州欧美黄色电影| 亚洲免费99| 97碰免费视频在线| 色五月婷婷少妇人妻| 99热热九九| 男人天堂亚洲综合| 亚艹艹| 色五月丁香网| 啪啪91| 99色热| 日本精品人妻无码77777| 亚洲国产精品二二三三区 | 久re热视频| 婷婷月综合| 亚洲区视频| 啪啪黄页网| 婷婷99视频精品| 国产超碰在线| 99热无码首页| 婷婷色色五月天| 免费超碰在线观看| 五月天综合久久| 综合天天综合| 人人摸人人搞| 狠狠操天天干| 伊人婷婷五月天av| 九九草热在线观看| 色五月婷婷在线| wwwss在线观看| 丁香六月婷婷色XXXX| 丁香五月激情欧美| 日本精品。999| www.热99热| 亚洲五月花| 亚洲天堂热| 五月婷婷五月天| 五月丁香色色色| 丁香激情四射| 蜜乳中文字| 亚洲中文字幕AV| 99这里只有精品| 久久99网| 五月色 亚洲| 久草热视频在线观看| 免费啪啪亚州视频| 激情骚五月| 婷婷色女| 人妻久热| 久久99日本精品视频免费观看| 激情综合五月| a久久| 97色色婷婷| 五月天色欧美| 开心五月婷| 五月天综合视频| 99久久久精品| 五月花婷婷最新| 99热碰碰| 九九美女视频| 开心五月婷| 99综合视频| 操b视频在线观看一区二区| 99色色热热| 欧美成人色婷婷| 婷婷爱五月| 9一精品视频观看| 激情五月激情综合俺也去婷婷小说| 五月婷婷综合潮喷| 亚洲激情四射色| 久热九九| 久99综合婷婷| 亚洲午夜电影| 97操碰在线视频| 国产av一区二区三区| 99自拍视频| 色噜噜狠狠一区二区三区| 大战熟女丰满人妻AV| 中文字幕丰满乱孑伦无码专区 | 日本色频| 亚洲人妻av| 丁香婷婷婷五月综合色情| 婷婷五月花| 狠狠操狠狠操| 五月丁香毛片| 五月婷婷五月天在线| 国产伦亲子伦亲子视频观看| se色99| 婷婷日日夜夜| 99精品手机在线视频| www.99热视频在线观看| 国产精品涩涩涩视频网站| 9精品在线| 五月天狠狠| 新激情五月天| 丁香六月婷婷综合欧美| 九热视频在线伦| 激情亚洲婷婷六月| 国内精品免费一区二区2009| 五月婷视屏在线观看| 白人荫道BBWBBB大荫道| 婷婷六月中文字幕| 五月天婷婷色综合| 婷婷五月天第三页| 婷婷丁香亚洲色综合91| 久久9视频| 小骚穴电影| 五日激情综合| 国産精品| 亚洲无码99| 青草视频在线播放| 五月色欧美| 欧美内射AAAAAAXXXXX| 丁香五月狠狠在线观看| 欧美性色A片免费免费观看的| 久久五月视频| 成人片黄网站色大片免费毛片| 天天爽天天爽天天爽天天爽天天爽| 五月婷婷激情性爱| 天堂爱爱| a毛片二逼wwwwwwwwww| 五月丁香色婷婷综合| 啪啪日本欧美| 丁香五月色网| 丁香五月图片| 最新国产AV| 有哪些A片网站| 另类国产欧美视频| 婷婷色九月| 深爱激情中文五月天av| 激情久久伊人| 婷婷五月天天爽| 97人人操| 久久精品99国产精品日本| 婷婷五月天视频小说| 久热A片| www.久久久.com| 大香蕉精品视频| 开心五月六月婷婷| 亚州成人综合在线| 欧美激情VA永久在线播放| 99九九精品视频| 亚洲综合五月天| 伊人99热| 亚洲99热| 婷婷月五天在线在线看| 色色色色色色色色色色色色色色,网站| 26UUU精品一区二区| 色天堂97| 国产3p露脸普通话对白| 久久久无码精品成人A片小说| 婷婷五月天黄色| 丰满女老板BD高清A片| 丁香五月,激情五月,深爱五月| 亚洲色图在线视频| 婷婷综合视频| 丁香婷婷激情网站| 丁香九月婷婷| 99婷婷五月天激情| 九九九九精品精| 婷婷五月天社区| 五月色婷婷在线观看| 亚洲狠狠色丁香婷婷综合久久| 天天干天天色综合| 爱草视频在线观看| 五月婷婷久久久| 最近中文字幕2019视频1| 99热a片免| 亚洲另类婷婷综合| 9999综合99综合人| 成人精品视频99在线观看免费 | 爆乳熟女一区二区三区爆乳| 成熟妇人A片免费看网站| 日日天天干| 色五月丁香五月五月婷婷| 精品操逼一区二区| 国产毛片精品一区二区色欲黄A片| 另类激情五月天| 成人丁香五月| 色婷婷五月影院| 专区无日本视频高清8| 国产美女视频久| 丁香五月婷婷精品视频| 这里只有精品视频视频在线观看| 狠狠色网| 久久亭亭电影| 91人妻九色大屁股| www.色五月| 超碰人人超碰| 热久国产| 九九热最新| 色婷婷精| 日本人妻伦在线中文字幕| 久操激情| 亚州色色色| 婷婷五月免费观看| 亚洲丁香五月天在线视频| 青青草网武则天| 国产精品天天狠天天看| 欧美日韩成人| 涩五月婷婷| 日韩另类在线观看| 99丁香五月婷| 成人视频在线免费播放| 五月丁香婷婷AV| 色大综合| 五月婷婷九| 婷婷激情五月天网站| 97热这里精品在线视频| 五月丁香好婷婷A片网| AV大片在线观看| 激情文学综合婷婷五月天丁香花| 亚洲亚洲人成综合网络| 日本熟妇乱妇熟色A片蜜桃| 狠狠操综合| 99啪99| 丁香五月天啪啪a日本| 激情五月色综合国产精品| 综合欧美五月婷婷| 五月丁香婷婷综合在线| 99久久97| 91操在线| 91凹凸在线| AAA久久久AAA久久久AAA| AV中文字幕夜夜操b天天摸bb | 99se丁香| 9l视频自拍九色9l黑人| Caoub青青超碰| 色吊操色妞| 久久久噜噜噜操操操| 激情五月婷婷综合秋霞| 丁香深五月婷婷| 婷婷五月天综合久久日| 综合网网欲色| 久久色五月| 五月婷婷影| 丁香激情四射| 9九热视频| 欧美日本综合网| WWW色五月天| 婷婷五月天直播| 激情五月婷婷啪啪| 亚洲中文乱字字幕在线永久| 婷婷丁香激情综合色情| 天天爽天天干| 狠狠婷婷色| 亚洲岛国电影| 丁香六月啪啪啪| 狠狠搞五月天| 五月婷婷亚洲色图| 色婷婷五月综合在线| 婷婷久久99| 婷婷激情伍月网| 欧美天天综合网站上去吧| 久久奄也去色色网站| 五月丁香六月色婷婷| 丁香五月在线看| 人人爽天天爽| 91成人电影| 99久久婷婷| 九九热九九| 国内一级片| 91色色色视频| 99视频内射三四| 久热这里只有精品在线观看| 日日爱激情| 日韩在线一级| 免费视频WWW在线观看网站| 婷婷五月丁香色色| 九九五月天| 亚洲欧美成人在线| 婷婷激情啪啪| 97人妻碰碰中文无码久热丝袜| 婷婷五月激情五月激情| 婷婷综合国产| 99热99网| 人妻久久久| 操骚货在线| 婷婷五月综合社区在线| 九九亚洲天堂| 亚洲五月激情| 五月丁香婷婷人体| 日本久久天堂| 久久九九囯产| 99热这只有| 色五月婷婷影院| 婷婷五月天小说网| 久久女婷| 大香蕉中文| 五月婷成人网| 中美日韩成人在线| 婷婷9月天| 色情五月丁香| 激情五月五月婷婷| www.色综合| 超级碰碰一区| 激情网 五月天| 五月婷婷激情| 美女视频图片久久91| 依人大香蕉| 开心激情网在线| 色噜噜综合网| 综合久久五月天| 日日干日日s| 久草a片| 天天日天天久久青青| 婷婷午夜精品久久久| 色综合综合色| 国产3p露脸普通话对白| 婷婷色激情网| 嫩草视频在线观看| 97色啪| 婷婷五月天性| 丁香午夜天| 色99视| 99视频在线观看视频| 激情五月综合| 性色综合网| 四虎婷婷五月天| 色婷婷网| 欧美久久婷婷| 婷婷五月丁香六月| 99在线视频播放| www天天色天天射| 色五月婷婷7777| Av大香蕉| www九九| 九色地址91视频| 丁香综合伊人AV| 丁香五月婷婷色| 探花搜索结果 - 黄上黄| 亚洲欧州色情在线观看| 久久综合99| 丁香五月,开心五月,成人婷婷| 午夜丁香综合婷婷| 操逼巨乳91| 五月伊人婷婷| 久久久久视剧HD| 婷婷五月综合激情小说| 欧美色片中文字幕久久久久| 99色视频在线观看| www.9操| 内射激情在线| 久操香蕉| 五月婷婷婷婷| 婷婷五月天精品| 综合五月婷婷| 狠狠色噜噜狠狠| 亚洲色五月| 五月天婷婷色色网| 五月丁香综合激情网| 天天综合色丁香| 狠狠高潮精品亚洲1| 九色视频入口91| WWW,婷婷,COM| 婷婷五月天黄色网址| 久久视频婷婷| 日本久久天堂| 五月丁香久久| 久久这里只有国产视频| 人妻操日日| 九九成人视频| 五月激情啪啪| 五月网站| 丁香五月天在线观看| 丁乡久久| 自拍偷窥99热| 第四色五月激情网| 级人人91| 婷婷六月激情综合| 影音先锋色婷婷| www.minyis.com【JT】实力收量可预付QQ2101460746 | 亚艹艹| 九色在线观看91av| 91啪啪视频| wuyuedingxiang99| 六月五月天婷婷涩播在线| 97五月天婷婷| 亭亭色网| 97在线观视频免费观看| 99免费在线| 97碰碰视频在线观看免费| 狠狠爱婷婷丁香| 国产精品成人在线| 欧美日韩二区在线| 丁香婷婷色色| 热99视频| 玖玖99精品视频| 噜噜五月天综合| 99热精品9| 亚洲一区二区无遮挡A片| 色婷婷五月在线| 五月婷婷高清| 99超级超级超级碰| 99精品网| www夜夜| 99er精品| 小骚穴电影| 成人精品一区日本无码网| 综合色激情| 五月天婷婷av| 久热久re| 亚洲综合激情五月久久| 色色色色色色网| 色播五月婷婷| 色色网91| 亚洲亚洲人成综合网络| 天堂色婷婷| 99热在线中文字幕| 亚洲精品视频在线播放| 精品国产a| 久久免费精彩视频| 五月婷婷六月丁香玖玖玫瑰91| 久久五月天合网| 毛片九九九九九九| 99燥99日| 久久婷婷五月天| 成人va在线播放| 天天婷婷天天| 91九色国产| 色五月激情问网站| 欧美性色A片免费免费观看的| 日韩在线一级| 另类五月激情| 激情图片婷婷| 亚洲区,视频区,视频区免费| 五月叮香啪| 九月丁香久久网| 五月丁香偷拍| 色婷婷狠| 另类图片激情五月| 99热精品中文字幕| 一本综合丁香日日狠狠色| 亚洲sesesese| 黄色五月婷婷| 婷婷五月丁香色综合| 美女婷婷激情亚洲| 亚洲V国产V欧美V久久久久久| 任你爽精品免费视频6| 色婷婷六月天在线| 丁香五月激情六月综合| 久久久久9| 色婷婷五月综合在线| 97色碰碰公开视频| 26uuu成人网| 无码人妻少妇色欲AV一区二区 | www激情网站| 一本久婷婷综合| 国产精产国品一二三在观看| 久久激情网| 丁香五月天色婷婷| 色婷婷成人| 色婷婷综合亚洲| 色五月综合在线| 蜜桃婷婷丁香| 日日夜夜小色哥| 亚洲狠狠狠色婷婷综合激情久久久| 六月丁香花婷婷| 亚洲AV综合在线观看| 99亚洲视频| 国产AV不卡福利| aaa久久久| 日本WwW色偷偷丁香花久久久京东热| 大香蕉婷婷| 久久精品婷婷| 玖玖热视频| 五月激情站| 9l视频自拍9l九色9l成人| 五月丁香成人小说| 婷婷激情小说| 婷婷情色五月天| 碰碰女| 激情综合婷婷| 激情小说婷婷| 无码日本精品XXXXXXXXX| 99精品成人无码A片观看金桔| 日本天天操| 天天爽天天干| 亚洲色无码A片一区二区麻豆| 免费视频WWW在线观看网站| 国产69精品久久久久999小说| 在线观看中文字幕| 99色视频在线| av高清无码| 99在线看视频| 婷婷趴趴| 五月丁香六月婷婷亚洲天堂网站| 五月丁香综合网色欲| 激情五月天婷婷久久久久久久久久久| 国产日韩欧美性生活| 四五月婷婷| 色丁香久久久| 久久九九热视频| 综合一区二区三区| 亚洲欧美婷婷五月色综合| 97人人草| 中字幕视频在线永久在线观看免费| 亚洲亚洲人成综合网络| 久久影视婷婷五月| 99热在线观看免费中文| 久久婷婷操| 草综合14| 丁香六月婷婷综合| 99操网站| 另类激情五月天。| 骚货艹网站视频| 色色无码| AA片在线观看视频在线播放| 91干网| 婷婷五月天AV| 色999五月色| 五月婷婷激情综合网 | 婷婷色五月激情强奸四射| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 婷婷激情五月天网站| 狠狠操天天日| 91色噜噜狠狠狠狠色综合| www久久99| 综合久久五月| 综合五月草| 欧美成人精品老美女噜噜噜| 亚洲超碰在线| 香蕉99网| 亚洲五月天综合色| 五月亭亭狠狠| 久久视频在线视频| 欧美99视频| 香蕉综合网| 婷婷色欧美激情| 91丨九色丨熟女高潮| www日本熟妇99在线视频| 99久久精品色老| 99re最新地址视频| jiZZdr| 内射爽无广熟女亚洲| 丁香五月天婷婷91| 六月丁香婷婷尤物| 一区二区三区视频| 99色在线免费观看视频| 色国产五月| 亚洲天堂爱爱| 国产色视频网站2| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 激情熟女网| 色的色综合| 婷婷 伊人 久久| 字幕网AV中文字幕| 丁香色情五月天| 天天干一干| 色婷婷激情Av久久久| 天天色月| 中文字幕人妻在线| 色婷婷综合在线| 深爱丁香激情| 开心五月激情网| 99资源在线视频| 色狠狠色综合| 中文字幕视频色婷婷| 久操热| 婷婷中文字幕版| 色噜噜狠狠色综合日日| 91色综合网| 色综合色综合色综合色综合| 狠狠久久婷五月综合色| 一本道综合网| 乱精品一区字幕二区| 99综合| 中文字幕综合| 亚洲性视频| 国产26uuu| 久久九九思思| AV天堂婷婷五月天| 丁香五月婷婷天激情| 99在线观看免费精品视频| 91精品久久久久| 黄色精品五月婷婷| 97热精品| 丁香五月激情棕合| 激情综合网址| 五月婷婷六月丁香综合| 久婷婷婷| 五月天婷婷网站888| 97碰碰人人| 久久在线大香蕉| 色一情一乱一乱91Av| 五月天婷婷在线AN| 欧美三级级99久久| 五月婷婷影视| 色色色色丁香| 丁香五月婷中字幕| 丁香花操逼| 色婷婷丁香AV综合| 激情五月丁香五月综合| 天天做天天爱天天玩夜夜爽| 亚洲精品第一国产综合亚AV| 丁香五月无码| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 色婷婷五月网| 婷婷五月丁香五月基地| 亚洲最大五月六月丁香婷婷| 97碰 在线视频观看| 熟女色专区| 婷婷五月天色色| 开心五月激情网| 日本天天操| 国产 A片 自拍| 99riav 亚洲| 五月综合六月婷婷| 久久久久久久久久久44| 99热这里都是精品| 五月天婷婷綜合院| 色五月播五月| 久久久久99精品成人片| 激情五月天第四色| 五月天婷婷色色| 婷婷色无码| 4399无码视频二区| 亚洲第一综合| 99爱视频精品| 丁香五月天久久| 看国产探花操逼三级片| 99玖玖在线视频| 999热这里只有精品| 色丁香在线视频| 97人人操人| 激情综合网五月婷婷| 凹凸探花电影| 久久精品五月| 五月婷婷综合网| 伊人狠狠干| 国产免费av在线| 人人草人人舔| 婷婷色播综合五月| 丁香六月综合| 91中文在线| 丁香五月激情视频在线| 蜜桃婷婷狠狠久久| 亚洲精品白浆高清久久久久久| 曰日爽日日操| 五月丁香婷婷成人版| 天天操夜夜操| 五月花丁香婷婷| 欧美色碰| 激情婷婷丁香| 成人欧美Va| 成人av观看| 久久最新色| 久热伊人9| eeuus五月婷| 操操熟女| 操操啪| 五月婷婷五月天在线 | 无码成人AAAAA毛片AI换脸| 欧美色性色好| 激情五月综合ì香亚洲| 婷婷导航| www.maotanji.com| 久久99免费视屏| 国产XXXX搡XXXXX搡麻豆| 欧美婷婷日本| 五月天成人综合| 久久丁香五月婷婷| 人人人人人人人人人草| 五月婷婷免费在线| 久久狠狠干| 91黄色五月天视频| 99综合免费视频| 99性爱| 大伊久久| 成人超碰AV| 久久久久8888| 午夜福利成人AV91| 疯狂做受XXXX高潮A片| 天天肏夜夜肏| 久婷五月| 五月丁香婷婷开心| 五月丁香六月婷婷中文版| 超碰成人电影| 婷婷婷久久久| 六月丁香开心婷婷欧美| 欧美午夜乱妇午夜福利| XX色综合| 色啪影院| 婷婷情色五月天| 亚亚州久久高潮| 亚洲中文乱字字幕线在永久| av成人在线播放| 蜜桃婷婷丁香综合久久开心亚洲| 97色色网| 99操免费视频| 激情六月色| 九九热精品6| bbwcuckold精品熟妇| 97精品自拍| 九月婷婷激情| 色婷婷AV久久| 欧美精品狠狠色丁香婷婷| 国产毛片精品一区二区色欲黄A片| 精品久久99| 国产成人综合在线| 国产精品色婷婷99久久精品| 99亚州综合精品成人网| 久久久久久97| 人人摸人人操人人爽| 久久婷婷色色| 可以看的AV| 成片免费观看视频大全| 成人精品视频99在线观看免费| 天天综合精品| 男人先锋久久| 色婷婷色和| 色色日本欧美| 九九精品自拍| 色婷婷色五月另类综合| 激情网站综合五月天| 国产美女最新VA在线免费观看| 成年人99热| 天天天操天天天日| 大香蕉欧美在线| 婷婷五月天色色| 人人操av| 欧美日韩成人h| 97日本在线| 狼友视频在线观看18| 丁香五月婷婷六月婷婷| 色五月视频无码播放| 思思精品热在线| 婷婷五月,偷窥偷拍网| 九月丁香| 精品久久久久成人码免费动漫| 色五月天 丁香| 五月婷激情影院| 精热在线综合网| 婷婷丁香五月六月激情| 婷婷丁香小说| 精品久久久人妻| 97超碰,人人舔,人人操,人人摸| 婷婷五月欧美| 97人人射| 亚洲va在线| 人人干99| 欧洲电影在线观看免费版英语版| 国产探花一片区| 婷婷五月天影院| 亚洲性爱99在线| 婷婷综合一二三| 99久久这里只有精品| 亚洲人操亚洲人| 婷婷月综合| 日本熟妇人妻在线| 超碰猛烈的性猛交| 九九热免费视频| 99热欧美精品| 在线VA视频| 激情综合五月开心狠狠| 无码色| 9 大屁股在线视频精品| 99热免费精品热久久66| 五月婷婷在线综合| 久久人妻视频| 99超碰在线免费| 五月天激情综合网站| 激情五月丁香五月| 超碰国产在线| www.久久久久久| 能看的av片| 99操久久| 亚洲视频另类| 99热99日…..| 先锋资源91| 青青久久五月| 亭亭玉立国色天香| 激情六月婷婷| 亚洲偷| 97色碰| 99色网站| 国产精品91抖高| 婷婷在线精品| 五月天婷婷社区| 99年操人人爽| 伊人婷婷青青cao| 五月婷婷婷| 国产AV熟妇人震精品一品二区| 五月天婷婷爱| 99爱在线视频观看| 99国产精品久久久久久久久久久| 在线观看av网站| 五月婷网站| 99色| 亚洲一个色| 美欧成人视频| 超碰免费电影| 99精品7| 五月婷丁香| 91人人操人人| 超碰猛烈的性猛交| 色婷婷另类| 久久人人人人妻| 五月激情综合网| 国产成人综合网| 丁香五月人妻| 99伊人婷婷在线| 天天色综合图片| 日韩ww| 天天插夜夜爽| 丁香六月婷婷综合| 六月丁香婷婷色狠狠久久| 国产色网站| 偷拍九九五月丁香婷婷| 停停五月丁香| 婷婷激情五月天桃花网| 青草热视频这里只有精品| 五月丁香啪| 婷婷的激情五月| 亚洲色热| 婷婷和五月天| 日日色综合| 欧美A级网站| 99操碰| www,久久久| 婷婷中文无码| 97狠狠色| 激情的五月婷婷蜜桃| 久操大香蕉| 综合色99| 亭亭五月丁香五月天激情| 67194成I人在线观看线路1| 91色综合网| 欧美精产国品一二三区| 激情六月丁香| 91人人操人人| 99久在线精品99re8热| 91九色视频| 婷婷丁香五月激情| 六月五月丁香五月欧美| 五月天成人综合| 婷婷亚洲五月丁香综合在线| 欧美色综合天天久久综合精品| 色色亚洲无码| 大地资源色婷婷视频在线| AV美美午夜| 日韩青青| 五月天狠狠网| 婷婷欧美激情综合| 91碰碰碰| 5月婷婷6月丁香aV| 亚洲五月六月婷婷| 人妻无码精品一区| 色九九综合热99| 中文字幕AV在线| 人人爽人人射-美女久久久久久久久久-成人AV | WWW.婷婷| 丁香五月人妻| 色色色色网站| 狠狠色婷婷丁香六月| 91丁香色| 夜夜撸日日操| 婷婷五月天影院| 综合色播| 婷婷综合色播网| 日韩日比视频| 天天拍天天操| 五月开心激情网| 91丨九色丨老农村| 九九色综合九九色| 亚洲五月天综合| 久久蜜臀婷婷| 91精品婷婷国产综合久久| 五月花综合网| 亚洲精品第一国产综合亚AV | 天天日,天天插| 六月色色综合| 丁香五月婷婷少妇| 丝袜大香蕉| 欧美va| 另类视屏| 精品久久99| 这里只精品热在线18| 五月婷婷|欧美| 综合色播| 99热99热在线| 六月丁香婷婷五月天| 五月婷婷综合在线亚洲视频| 婷婷久久综合| 综合激情五月综合激情五月激情1| 欧美97超碰| ww久久| 少妇口诉沐足视频播放器网址| 色99超碰| 色婷婷久久| 99亚州综合精品成人网| 色五月激情视频在线综合| 黄色网址五月婷婷| 九九色人| 婷婷情色激情| 丁香婷婷六月激情文学| 激情五月最新网址| 狠狠色狠狠操| 色播播婷婷| 九九艹女| 亚洲无码播放| 丁香五月开心五月激情| 亚洲超碰在线| 91美女艹逼网站| 五月婷婷丁香| 五月丁香网站| 天天干天天操天天干天天操天天干天天操 | 婷婷激情五月天色| 亚州操操| 精品婷婷丁香五| 久久九九国产精品怡红院| 亚洲狠狠干| 狠狠做五月婷婷| 丁香婷婷五月六月久久| 日本婷婷色| 婷婷丁香六月| 五月丁香六月激情综合| 亚洲狠狠狠| 99在线观看视频精品| 99在线视频资源| 丁香婷婷五月综合欧美另类| 99热这里是精品| 97香蕉久久超级碰碰高清版| 97色色色视频| 日日操夜夜操狠狠操| 九九自拍网| 久久久久视剧HD| 亚洲亚洲人成综合网络| 九九热黄色| 亭亭玉月丁香| WWW.99热| 99热在线中文字幕| 高潮毛片遮挡费高一百度| 香蕉视频91| www.久操| 久久中文网| 五月激情影院| 亚洲最大视频| www.色五月.com| 五月丁香六月色| 日本熟女内射| 操逼在线视频| 亚洲激情网站无码| 性爱综合网| 久久激情五月天| 99精品视频推荐| 拍色综合| 97久久婷婷色| 日本色色色色色色色色一色二色| 五月天激情综合| 婷婷五月天久久| 久久香蕉丁香| 99人妻碰碰碰久久久久视| 26uuu最新地址| 可似看的AV| 狠狠色婷婷777| 五月天婷婷中文字幕在线播放| 六月丁香综合网| 婷婷五月天伦理| 婷婷丁香五月久久| 色五月在线| 天天操天天操综合| 色综合色欲综合天天免费| 麻豆忘忧草午夜| 久久婷婷五月天大香蕉| 五月丁香六月片| 五月天久久婷| 国产毛片操B| 六月丁香婷婷爱| 99情色五月天| 丁香五月婷婷高清| 色五月色五天色情网址| 中文字幕天天干| 久久日九九| 丁香五月停停基地| 久久久久8888| 久月婷婷| 99热欧美在线观看| 91操色| 乱抡小BB| 欧美综合激情五月天| 婷婷丁香在线播放| 六月激情婷婷| 七七九色| 爱射综合| 六月激情婷婷| 丰满少妇猛烈A片免费看观看 | 97资源碰碰| 人妻久久久久久久 | 少妇口诉沐足视频播放器网址| 青青草护士中出内射-欧美电影在线天堂新版| www.爱操com.| 亚洲情a| 激情五月天小说网| 综合AV在线| 丁香六月婷婷久久综合| 国产精品激情AV久久久青桔| 精品99*| 一区三区视频有限公司| 亚洲精品国产成人AV在线| 丁香五月六月久久综合 | 色婷婷社区| 综合网激情| 九九Av| 青青草国产亚洲精品久久| 四虎99热在线观看网站| 停停五月色宗合| 日韩啪啪视频| 亚洲综合丁香五月| 丁香五月亚综合图片| 久久性操| 国产FREESEXVIDEOS性中国| 色99久草在线| 97人人操| 午夜 外网 精品 在线| 91wwmm导航| 中文字幕在线日亚洲9| 国产乱妇无乱码大黄AA片| 亚洲成人AV一区在线观看| 久久久久亚洲AV成人无码电影| 五月色亭丁香| 激情综合丁香五月| 中文字幕在线免费观看视频| 青草视频在线播放| av操一操| 成人羞羞啪啪 全 视频| 久久久精品色色色| 国产激情综合五月久久| 五月婷婷视频| www..999热久| 久久久婷丁香五月| 久久视频婷婷| 丰满少妇猛烈A片免费看观看| 97ai婷婷| 97亚洲色 torrent magnet| 五月婷婷综合潮喷| 五月天婷婷基地| 国产性爱大片久久| 97人人射| 亚洲第一精品成人999久久精品| 欧美操人| 久久五月天 91| 99在线观看亚洲| 五月丁香婷婷六月| 日日操天天爽| 婷婷久久综合| 97丁香视频| 九九视频这里只有精品在线播放| 色五月婷婷在线观看| 激情五月综合网| 久婷久婷| 色婷婷五月综合网| 五月丁香啪啪| www亚洲无码| 婷婷激情六月综合| 日韩成人中文字幕| 婷婷五月天丁香综合网| 天天射夜夜爽| 99在线免费视频| 色婷婷伊人激情在线观看| 99自拍视频在线| 久色视频| 成人在线观看国产| 天天综合情| www.9797国产| 第四色色六月色综合| 日韩成人网站精品久久大全| 久婷婷婷| 久99久视频精选| 国产九月婷婷| www99热| 五月婷久久久| 爱婷婷五月| 激情综合五月婷婷| YJLZZJLZZ亚洲乱熟无码| 婷婷五月天堂一本在线| 亚洲爆乳无码精品AAA片蜜桃| 97香蕉久久超级碰碰高清版| 天天摸色吧天天摸色吧| 在线看的免费网站| 那里有AV网址| 伦乱天堂| 超碰爱爱爱| 婷婷成人五月天成人文学小说| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 久久婷婷五月| 色射影院| 久久久久99精品成人网站| av性爱网站| 五月丁香久久久| 丁香 婷婷五月| 思思热视频| 91热久久| 九色91国产| 日韩精品一品二区三区的使用体验| 99热这里只有精品在线播放| 成人无码精品1区2区3区免费看| 激情 五月 婷婷 丁香| 久久五月视频| 人人操97| 午夜九九九九九九九九九九九九九| 日本三级色| 狠狠xx| 婷婷丁香五月基地| 激情五月天激情综合网| 9九九久久精品无码专区| 日韩无码人妻一区二区三区综合| 涩五月婷婷| 国产伊人五月天| 五月色网| 午夜理论片最新午夜理论剧 | 俺去也在线www色官网| 97在线观视频免费观看| 停停色综合伊人| 日本人妻伦在线中文字幕| 99精品视频在线6| 97精品综合| 欧美色骚婷婷五月天| 亚洲精品又粗又大又爽A片 | 开心激情站| 丁香桃色综合网| AA片在线观看视频在线播放| 五月丁香WWW| 人人爽网| 99青青草| 97在线/日本| 大香蕉久久婷婷精品综合| www.综合久久.com| 欧美天堂久久| 久久99精品九九久久久婷婷| 色婷婷五月在线| 97色色色视屏| 超碰日韩人妻在线| 五月天婷婷丁香六月| 激情色情五月天| 91人碰| 色婷婷小说| 国产69久久久欧美黑人A片 | 情欲禁地| 停停五月天激情网| 国精产品一区二区三区| 夜夜爱伊人| 99热这里只有精品26| 人妻丰满精品一区二区A片| 丁香五月天激情综合网| 中文字幕av网站| 色色色五月婷| 欧美噜噜噜草| 成人午夜视频精品一区| 久色国产| 久久精品系列| 色色色色色综合| 人妻videos人妻高清| 99久久人人| 超碰免费大香蕉| 免费的日逼视频| 亚州第一黄网| 久青操| 开心四月婷婷在线色播播| 五月婷婷激情在线| 激情五月天综合网| 日日操夜夜爽白洁| 人人操9| 97香蕉久久超级碰碰高清版| 日本女天天爽| 91女人18毛片水多国产| 97操碰视频| 狠狠va| 日本九九九九九九| 人妻内射视频| 99久久免费精品| 91碰| 影音先锋美国A| 五月天丁香综合久久国产| 亚洲性爱干干| 91操在线| www.色五月| 色色色色五月| 九九视频免费| 韩日AV片| 99热在这里只有精品| 天天色官网| 99熟女| 九九色黄色| 天天插天天爽| 六月丁香综合| 色色综合日韩| 九九色大香蕉| 丁香五月婷婷国产av|