崔巧娟
0前言MySQL8.0開始支持隱藏索引,不可見索引。它允許快速啟用/禁用MySQLOptimizer使用的索引。
隱藏索引不會被優(yōu)化器使用,但仍需維護
1應(yīng)用場景軟刪除灰度發(fā)布,測試新索引:在不影響現(xiàn)有查詢性能的情況下,測試新創(chuàng)建的索引是否有效維護索引:在更新或重建索引時,可以先將其設(shè)置為不可見,避免影響在線查詢臨時禁用無用索引:如果某個索引不再被頻繁使用,可以將其設(shè)置為不可見,減少不必要的開銷2啥用?若想刪除一個索引,又想事先知道效果??墒顾鼘?yōu)化程序不可見。這是一個快速的元數(shù)據(jù)更改,使索引不可見。一旦確定沒有性能下降,就可真正去刪除索引。
關(guān)鍵:隱藏索引不能供優(yōu)化器使用,但它仍存在,并通過寫入操作保持最新。即便嘗試“FORCEINDEX”,優(yōu)化器也不會用它,雖然我認(rèn)為我們應(yīng)該能在某種程度強制它。可能會有這樣情況:
可創(chuàng)建一個新的隱形索引,但若想測試它,須使它可見。即所有對應(yīng)用程序有即時影響的查詢都將能用它。若目的只是想測試它,我不認(rèn)為這是最好方法,不是所有人的服務(wù)器都有相同的數(shù)據(jù)大小和真實數(shù)據(jù)。強制隱藏索引這時可能會很有用。
你有許多索引,但不確定哪個未使用??蓪⒁粋€索引更改為不可見,以查看是否存在任何性能下降。若是,你可立即更改。
可能有個特殊情況:只有一個查詢可用該索引。此時,隱藏索引可能是很好解決方案。
3創(chuàng)建有兩個選項:
3.1創(chuàng)建一個具有隱藏索引的表CREATETABLEt1(iINT,jINT,kINT,INDEXi_idx(i)INVISIBLE)ENGINE=InnoDB;CREATEINDEXj_idxONt1(j)INVISIBLE;3.2altertable并將索引更改為隱藏ALTERTABLEt1ADDINDEXk_idx(k)INVISIBLE;4使用如果我們現(xiàn)在要刪除索引,我們可以將其更改為隱藏。但是使用“FORCE/USEINDEX”的查詢怎么樣?他們是否會拋出一個錯誤?如果強制不存在的索引,你會收到錯誤。你不會看到隱藏索引的錯誤。優(yōu)化器不會使用它,但知道它存在。
大型表上,這可能導(dǎo)致嚴(yán)重性能問題。即使MySQL在查詢執(zhí)行期間不拋任何錯誤,它也應(yīng)在錯誤日志中記錄一個警告。
穿越明末成信王,朱由檢平亂滅敵,打造無敵大明圣皇傳奇
《大明圣皇》作者:蕭冰臺1傳位公元1627年,大明天啟七年,八月十一日,農(nóng)歷——_。朱由檢站在信王府的前院中,背負(fù)雙手,仰望天空,天邊被一抹晚霞浸染,殷紅一片。他的身后站著一名三十來歲的青年太監(jiān),他叫王承恩。當(dāng)他穿越到這個時代,從新婚的大床上爬起來時,就將王承恩調(diào)到了身邊,貼身伺候_|。所謂蓋棺定論,..
穿越信王朱由檢,平內(nèi)亂征四方,終成大明圣皇
小說:隱忍兩年后,他以一場大案拉開圣皇生涯,成我的大明圣皇今日推薦:《大明圣皇》作者:蕭冰臺。搜索書名開始觀看吧~---精選段落--- 766朝廷的決心“該死的,黃主事來了沒有?”陳明遇滿臉晦氣的退下來,怒吼著問道_|?!皼]有來,說是有事情處理,來不了?!笔窒滦⌒囊硪淼幕卮鸬??!肮啡盏?,他老子就到此結(jié)束了?|。
小說:隱忍兩年后,他以一場大案拉開圣皇生涯,成我的大明圣皇
不容錯過的架空歷史小說TOP3,尤其要看《大明圣皇》《大明圣皇》 作者:蕭冰臺內(nèi)容簡介:穿越信王朱由檢,隱忍兩年后,以一場大案拉開了他的明末皇帝生涯。平東林、滅女真、征蒙古、絕西域,在陸地上他所向無敵--。建大明海軍,逐武裝商船,控馬六甲海峽,收南洋為內(nèi)湖,在海洋上所向披靡_。這是我的大明,我是圣皇有幫助請點贊_。
來源:紅網(wǎng)
作者:羅庭菱
編輯:宋建安
本文為紅辣椒評論 原創(chuàng)文章,僅系作者個人觀點,不代表紅網(wǎng)立場。轉(zhuǎn)載請附原文出處鏈接和本聲明。