- MariaDB 教程
- MariaDB - 首页
- MariaDB - 简介
- MariaDB - 安装
- MariaDB - 管理
- MariaDB - PHP 语法
- MariaDB - 连接
- MariaDB - 创建数据库
- MariaDB - 删除数据库
- MariaDB - 选择数据库
- MariaDB - 数据类型
- MariaDB - 创建表
- MariaDB - 删除表
- MariaDB - 插入查询
- MariaDB - 选择查询
- MariaDB - WHERE 子句
- MariaDB - 更新查询
- MariaDB - 删除查询
- MariaDB - LIKE 子句
- MariaDB - ORDER BY 子句
- MariaDB - 连接
- MariaDB - 空值
- MariaDB - 正则表达式
- MariaDB - 事务
- MariaDB - ALTER 命令
- 索引与统计表
- MariaDB - 临时表
- MariaDB - 表克隆
- MariaDB - 序列
- MariaDB - 管理重复项
- MariaDB - SQL 注入防护
- MariaDB - 备份方法
- MariaDB - 备份加载方法
- MariaDB - 有用函数
- MariaDB 有用资源
- MariaDB - 快速指南
- MariaDB - 有用资源
- 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 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 使存储引擎独立的统计表可用,这些表计算每个存储引擎中每个表的的数据统计信息,甚至计算未建立索引的列的统计信息。
广告