MariaDB 索引和统计表
MariaDB 索引和统计表
索引是加速记录检索的工具。索引为索引列中的每个值生成一个目录。
MariaDB有四种类型的索引
Primary(一条记录代表所有记录)
Unique(一条记录代表多条记录)
Plain
Full-Text (允许文本搜索)。
术语“key和“index”在这种用法中是相同的。
索引与一个或多个列相关联,并支持快速搜索和高效的记录组织。创建索引时,请谨慎选择查询中经常使用的列,然后在它们上创建一个或多个索引。此外,主键将自动创建索引。
尽管索引加速了搜索或SELECT语句,但由于对表和索引都执行了操作,它会影响插入和更新的性能。
创建索引
您可以通过创建表CREATE TABLE...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 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提供了独立于存储引擎的统计表,它计算每个存储引擎中每个表的数据统计,甚至是未编制索引的列的统计。