0%

SQL-索引

  • 索引是一种特殊的查询表,可以被数据库搜索引擎用来加速数据的检索。
  • 索引能够提高 SELECT 查询和 WHERE 子句的速度,但是却降低了包含 UPDATE 语句或 INSERT 语句的数据输入过程的速度。
  • 索引可以是唯一的。

创建索引

  1. 单列索引
1
2
CREATE INDEX index_name
ON table_name (column_name);
  1. 唯一索引
1
2
CREATE UNIQUE INDEX index_name
on table_name (column_name);
  1. 聚簇索引

聚簇索引在表中两个或更多的列的基础上建立。

1
2
CREATE INDEX index_name
on table_name (column1, column2);
  1. 隐式索引

隐式索引由数据库服务器在创建某些对象的时候自动生成。例如,对于主键约束和唯一约束,数据库服务器就会自动创建索引。

删除索引

1
2
3
Drop Index index_name On table_name

DROP INDEX table_name.index_name;

什么时候应当避免使用索引?

  • 小的数据表不应当使用索引;
  • 需要频繁进行大批量的更新或者插入操作的表;
  • 如果列中包含大数或者 NULL 值,不宜创建索引;
  • 频繁操作的列不宜创建索引。