MariaDB - 索引和统计表
索引是加速记录检索的工具。 索引为索引列中的每个值生成一个条目。
索引有四种类型 −
Primary (一条记录代表所有记录)
Unique (一条记录代表多条记录)
Plain
Full-Text(允许文本搜索中的许多选项)。
术语"key"和"index"在此用法中是相同的。
索引与一个或多个列相关联,支持快速搜索和高效的记录组织。 创建索引时,请考虑查询中经常使用哪些列。 然后在它们上创建一个或多个索引。 此外,将索引视为本质上的主键表。
虽然索引可以加速搜索或 SELECT 语句,但由于同时对表和索引执行操作,它们会拖累插入和更新。
创建索引
您可以通过 CREATE TABLE...INDEX 语句或 CREATE INDEX 语句创建索引。 支持可读性、维护和最佳实践的最佳选择是创建索引。
查看下面给出的 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 提供了与存储引擎无关的统计表,可以对每个存储引擎中的每个表进行数据统计,甚至可以对没有索引的列进行统计。