SQL 面试题 目录

SQL 中如何创建索引?

推荐答案

在 SQL 中,可以使用 CREATE INDEX 语句来创建索引。以下是创建索引的基本语法:

  • index_name 是索引的名称。
  • table_name 是要在其上创建索引的表名。
  • (column1, column2, ...) 是要在其上创建索引的列名列表。

例如,在 employees 表的 last_name 列上创建一个名为 idx_lastname 的索引:

本题详细解读

什么是索引?

索引是数据库中的一种数据结构,用于加快数据检索的速度。它类似于书籍的目录,可以帮助数据库快速定位到表中的特定行,而不必扫描整个表。

索引的类型

  1. 单列索引:基于表中的单个列创建的索引。

  2. 复合索引:基于表中的多个列创建的索引。

  3. 唯一索引:确保索引列中的所有值都是唯一的。

  4. 主键索引:主键约束自动创建的唯一索引。

索引的优缺点

优点

  • 加快数据检索速度。
  • 通过唯一索引确保数据的唯一性。

缺点

  • 索引会占用额外的存储空间。
  • 在插入、更新和删除操作时,索引需要维护,可能会降低这些操作的性能。

创建索引的注意事项

  1. 选择合适的列:通常选择在 WHERE 子句中频繁使用的列作为索引列。
  2. 避免过度索引:过多的索引会增加维护成本,降低写操作的性能。
  3. 考虑索引的顺序:在复合索引中,列的顺序会影响索引的效率。

删除索引

如果不再需要某个索引,可以使用 DROP INDEX 语句将其删除:

例如,删除 employees 表上的 idx_lastname 索引:

纠错
反馈