索引是用于加速記錄檢索的工具。 索引為索引列中的每個(gè)值生成一個(gè)條目。
有四種類型的索引 -
Primary(一條記錄表示所有記錄)
Unique(一條記錄表示多個(gè)記錄)
Plain
Full-Text(允許文本搜索中的許多選項(xiàng))。
術(shù)語“密鑰”和“索引”在該用法中是相同的。
索引與一個(gè)或多個(gè)列關(guān)聯(lián),并支持快速搜索和高效的記錄組織。 創(chuàng)建索引時(shí),請(qǐng)考慮查詢中經(jīng)常使用的列。 然后在它們上創(chuàng)建一個(gè)或多個(gè)索引。 此外,將索引視為基本的主鍵表。
雖然索引加速搜索或SELECT語句,但由于對(duì)表和索引執(zhí)行操作,它們使插入和更新拖動(dòng)。
您可以通過CREATE TABLE ... INDEX語句或CREATE INDEX語句創(chuàng)建索引。 支持可讀性,維護(hù)和最佳實(shí)踐的最佳選項(xiàng)是CREATE INDEX。
查看下面給出的Index的一般語法 -
CREATE [UNIQUE or FULLTEXT or...] INDEX index_name ON table_name column;
回顧一個(gè)使用的例子 -
CREATE UNIQUE INDEX top_sellers ON products_tbl product;
可以使用DROP INDEX或ALTER TABLE ... DROP刪除索引。 支持可讀性,維護(hù)和最佳實(shí)踐的最佳選項(xiàng)是DROP INDEX。
查看下面給出的Drop Index的一般語法 -
DROP INDEX index_name ON table_name;
回顧一個(gè)使用的例子 -
DROP INDEX top_sellers ON product_tbl;
使用ALTER TABLE語句重命名索引。 查看下面給出的一般語法 -
ALTER TABLE table_name DROP INDEX index_name, ADD INDEX new_index_name;
回顧一個(gè)使用的例子 -
ALTER TABLE products_tbl DROP INDEX top_sellers, ADD INDEX top_2016sellers;
您將需要檢查和跟蹤所有索引。 使用SHOW INDEX列出與給定表相關(guān)聯(lián)的所有現(xiàn)有索引。 您可以使用諸如“\ G”之類的選項(xiàng)來設(shè)置顯示內(nèi)容的格式,該選項(xiàng)指定垂直格式。
查看以下示例 -
mysql > SHOW INDEX FROM products_tblG
索引被大量使用以優(yōu)化查詢,因?yàn)楦斓卦L問記錄以及提供的統(tǒng)計(jì)信息。 然而,許多用戶發(fā)現(xiàn)索引維護(hù)麻煩。 MariaDB 10.0使存儲(chǔ)引擎獨(dú)立統(tǒng)計(jì)表可用,它計(jì)算每個(gè)存儲(chǔ)引擎中每個(gè)表的數(shù)據(jù)統(tǒng)計(jì)信息,甚至是未編制索引的列的統(tǒng)計(jì)信息。
更多建議: