您所在的位置:读书频道 >数据库 > SQL Server > 12.2 使用DROP INDEX删除索引
12.2 使用DROP INDEX删除索引
《SQL基础教程:第3版》第12章索引,本章让大家了解DBMS如何实现和使用索引。本节为大家介绍使用DROP INDEX删除索引。
AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验
使用DROP INDEX语句删除索引。因为索引逻辑和物理上独立于相关表中的数据,在任何时候删除索引都不会影响表(或其他索引)。如果删除了索引,所有SQL程序和应用会继续正常运行,但访问先前有索引的数据会变慢。
删除索引通常是因为:
相关表很小(或已被删除)或用户不再访问索引列,因此不再需要索引;
在插入、更新和删除操作后DBMS维护索引所需的时间超过了索引加速检索而节约的时间。
SQL标准未包含索引,因此不同DBMS的SQL索引语句有所差异。本节介绍本书涉及的DBMS如何删除索引。对于不同的DBMS,请查阅文档的index部分了解如何删除索引。
对于Oracle、DB2和PostgreSQL,一个数据库中的索引名唯一,因此当删除索引时不必指明表名。对于Microsoft Access、Microsoft SQL Server和MySQL,一个表中索引名唯一,但在不同的表中可以使用相同的索引名,因此必须指明要删除的索引的表名。本节的例子删除代码12-1创建的索引。
在Microsoft Access或MySQL中删除索引中
输入:
- DROP INDEX index
- ON table;
index是要删除的索引名,table是索引相关表的名称(代码12-4a)。
代码12-4a 删除索引pub_id_idx (Microsoft Access或MySQL)
- DROP INDEX pub_id_idx
- ON titles;
在Microsoft SQL Server中删除索引中
输入:
- DROP INDEX table.index;
index是要删除的索引名,table是索引相关表的名称(代码12-4b)。
代码12-4b 删除索引pub_id_idx(Microsoft SQL Server)
- DROP INDEX titles.pub_id_idx
在Oracle、DB2或PostgreSQL中删除索引中
输入:
- DROP INDEX index;
index是要删除的索引名(代码12-4c)。
代码12-4c 删除索引pub_id_idx(Oracle、DB2或PostgreSQL)
- DROP INDEX pub_id_idx;
"提示
无法删除DBMS为主键约束和唯一约束自动创建的索引(见第11章)。