SQL语句之索引操作
索引
可以在表中创建索引,以便更加快速高效地查询数据。
用户无法看到索引,它们只能被用来加速搜索/查询。
在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。
注释:更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
创建索引
CREATE INDEX 语句
在表上创建一个简单的索引,允许使用重复的值:
CREATE INDEX index_name
ON table_name (column_name)
CREATE UNIQUE INDEX 语句
在表上创建一个唯一的索引,不允许使用重复的值(唯一的索引意味着两个行不能拥有相同的索引值):
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
注释:用于创建索引的语法在不同的数据库中不一样。因此,检查您的数据库中创建索引的语法。
索引多个列
索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开。
如:在 "Persons" 表的 "LastName"、"FirstName" 列上创建一个名为 "PIndex" 的索引:
CREATE INDEX PIndex
ON Persons (LastName, FirstName)
对复合索引(多列索引),按照字段在查询条件中出现的频度建立索引。在复合索引中,记录首先按照第一个字段排序。对于在第一个字段上取值相同的记录,系统再按照第二个字段的取值排序,以此类推。因此只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用。
删除索引
适用于SQL Server:DROP INDEX table_name.index_name;
参考资料
SQL 教程 | 菜鸟教程
SQL (六) 数据库 创建和删除索引——CSDN
数据库索引- 复合索引(多列索引)——博客园