索引语法——创建索引 || 查看索引 || 删除索引 || ALTER命令 索引设计原则
索引語(yǔ)法
索引在創(chuàng)建表的時(shí)候,可以同時(shí)創(chuàng)建,也可以隨時(shí)增加新的索引。
準(zhǔn)備環(huán)境:
創(chuàng)建索引
?
查看索引
刪除索引
ALTER命令
索引設(shè)計(jì)原則
索引的設(shè)計(jì)可以遵循一些已有的原則,創(chuàng)建索引的時(shí)候請(qǐng)盡量考慮符合這些原則,便于提升索引的使用效率,更高效的使用索引。
對(duì)查詢頻次較高,且數(shù)據(jù)量比較大的表建立索引
索引字段的選擇,最佳候選列應(yīng)當(dāng)從where子句的條件中提取,如果where子句中的組合比較多,那么應(yīng)當(dāng)挑選最常用、過(guò)濾效果最好的列的組合。
使用唯一索引,區(qū)分度越高,使用索引的效率越高。
索引可以有效的提升查詢數(shù)據(jù)的效率,但索引數(shù)量不是多多益善,索引越多,維護(hù)索引的代價(jià)自然也就水漲船高。對(duì)于插入、更新、刪除等DML操作比較頻繁的表來(lái)說(shuō),索引過(guò)多,會(huì)引入相當(dāng)高的維護(hù)代價(jià),降低DML操作的效率,增加相應(yīng)操作的時(shí)間消耗。另外索引過(guò)多的話,MySQL也會(huì)犯選擇困難病,雖然最終仍然會(huì)找到一個(gè)可用的索引,但無(wú)疑提高了選擇的代價(jià)。
使用短索引,索引創(chuàng)建之后也是使用硬盤(pán)來(lái)存儲(chǔ)的,因此提升索引訪問(wèn)的I/O效率,也可以提升總體的訪問(wèn)效率。假如構(gòu)成索引的字段總長(zhǎng)度比較短,那么在給定大小的存儲(chǔ)塊內(nèi)可以存儲(chǔ)更多的索引值,相應(yīng)的可以有效的提升MySQL訪問(wèn)索引的I/O效率。
利用最左前綴,N個(gè)列組合而成的組合索引,那么相當(dāng)于是創(chuàng)建了N個(gè)索引,如果查詢時(shí)where子句中使用了組成該索引的前幾個(gè)字段,那么這條查詢SQL可以利用組合索引來(lái)提升查詢效率
總結(jié)
以上是生活随笔為你收集整理的索引语法——创建索引 || 查看索引 || 删除索引 || ALTER命令 索引设计原则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mysql 索引 总结 —— 概述 ||
- 下一篇: Learn About Salesfo