开发学院

您的位置:首页>教程>正文

教程正文

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提供了独立于存储引擎的统计表,它计算每个存储引擎中每个表的数据统计,甚至是未编制索引的列的统计。