MariaDB 索引和統(tǒng)計(jì)表

2022-08-16 15:33 更新

索引是用于加速記錄檢索的工具。 索引為索引列中的每個(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)。

創(chuà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

表統(tǒng)計(jì)

索引被大量使用以優(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ì)信息。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)