MariaDB – 索引和统计表

MariaDB – 索引和统计表


索引是加速记录检索的工具。索引为索引列中的每个值生成一个条目。

有四种类型的索引 –

  • 主要(一条记录代表所有记录)

  • 唯一(一条记录代表多条记录)

  • 清楚的

  • 全文(允许在文本搜索中有许多选项)。

在这种用法中,术语“键”和“索引”是相同的。

索引与一列或多列相关联,支持快速搜索和高效的记录组织。创建索引时,请考虑查询中经常使用哪些列。然后在它们上创建一个或多个索引。此外,将索引视为本质上的主键表。

尽管索引可以加速搜索或 SELECT 语句,但由于对表和索引执行操作,它们会拖累插入和更新。

创建索引

您可以通过 CREATE TABLE…INDEX 语句或 CREATE INDEX 语句创建索引。支持可读性、维护和最佳实践的最佳选择是 CREATE INDEX。

查看下面给出的索引的一般语法 –

CREATE [UNIQUE or FULLTEXT or...] INDEX index_name ON table_name column;

查看其使用示例 –

CREATE UNIQUE INDEX top_sellers ON products_tbl product;

删除索引

您可以使用 DROP INDEX 或 ALTER TABLE…DROP 删除索引。支持可读性、维护和最佳实践的最佳选择是 DROP INDEX。

查看下面给出的 Drop Index 的一般语法 –

DROP INDEX index_name ON table_name;

查看其使用示例 –

DROP INDEX top_sellers ON product_tbl;

重命名索引

使用 ALTER TABLE 语句重命名索引。查看下面给出的一般语法 –

ALTER TABLE table_name DROP INDEX index_name, ADD INDEX new_index_name;

查看其使用示例 –

ALTER TABLE products_tbl DROP INDEX top_sellers, ADD INDEX top_2016sellers;

管理索引

您将需要检查和跟踪所有索引。使用 SHOW INDEX 列出与给定表关联的所有现有索引。您可以使用“\G”等指定垂直格式的选项来设置显示内容的格式。

查看以下示例 –

mysql > SHOW INDEX FROM products_tbl\G

表格统计

鉴于更快地访问记录和提供的统计信息,索引被大量用于优化查询。然而,许多用户发现索引维护很麻烦。MariaDB 10.0 提供了独立于存储引擎的统计表,可以计算每个存储引擎中每个表的数据统计信息,甚至是未索引列的统计信息。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁