SQL Server和Oracle数据库索引介绍
2008-09-08 12:51:07 来源:WEB开发网一个表如果建有大量索引会影响 INSERT、UPDATE 和 DELETE 语句的性能,因为所有索引都必须随表中数据的更改进行相应的调整。
唯一索引
唯一索引确保索引键不包含重复的值,因此,表或视图中的每一行在某种程度上是唯一的。
聚集索引和非聚集索引都可以是唯一索引。
包含性列索引
一种非聚集索引,它扩展后不仅包含键列,还包含非键列。
索引涵盖
指查询中的SELECT与WHERE子句的所用列同时也属于非聚集索引的情况。这样就可以更快检索数据,因为所有信息都可以直接来自于索引页,从而SQL Server可以避免访问数据页。加上独立的索引文件组,可以用最快速度访问数据。
请看如下表示例:
A.创建简单非聚集索引
以下示例为 Purchasing.ProductVendor 表的 VendorID 列创建非聚集索引。
USEAdventureWorks;
GO
CREATEINDEXIX_ProductVendor_VendorID
ONPurchasing.ProductVendor(VendorID);
GO
B. 创建简单非聚集组合索引
以下示例为 Sales.SalesPerson 表的 SalesQuota 和 SalesYTD 列创建非聚集组合索引。
CREATENONCLUSTEREDINDEXIX_SalesPerson_SalesQuota_SalesYTD
ONSales.SalesPerson(SalesQuota,SalesYTD);
GO
C. 创建唯一非聚集索引
以下示例为 Production.UnitMeasure 表的 Name 列创建唯一的非聚集索引。该索引将强制插入 Name 列中的数据具有唯一性。
USEAdventureWorks;
GO
CREATEUNIQUEINDEXAK_UnitMeasure_Name
ONProduction.UnitMeasure(Name);
GO
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
更多精彩
赞助商链接