WEB开发网
开发学院数据库MSSQL Server SQL Server和Oracle中的索引 阅读

SQL Server和Oracle中的索引

 2008-09-03 09:59:42 来源:WEB开发网   
核心提示: 可以使用下列方法重新生成聚集索引和非聚集索引:带 REBUILD 子句的 alter INDEX,此语句将替换 DBCC DBREINDEX 语句,SQL Server和Oracle中的索引(4),带 drop_EXISTING 子句的 create INDEX,示例如下:A. 重新生成索

可以使用下列方法重新生成聚集索引和非聚集索引:

带 REBUILD 子句的 alter INDEX。此语句将替换 DBCC DBREINDEX 语句。

带 drop_EXISTING 子句的 create INDEX。

示例如下:

A. 重新生成索引

以下示例将重新生成单个索引。

USEAdventureWorks;
GO
alterINDEXPK_Employee_EmployeeIDONHumanResources.Employee
REBUILD;
GO

B.重新生成表的所有索引并指定选项

下面的示例指定了 ALL 关键字。这将重新生成与表相关联的所有索引。其中指定了三个选项。

alterINDEXALLONProduction.Product
REBUILDWITH(FILLFACTOR=80,SORT_IN_TEMPDB=ON,
       STATISTICS_NORECOMPUTE=ON);
GO

2 Oracle中的索引

索引是Oracle使用的加速表中数据检索的数据库对象。

下面的情况,可以考虑使用索引:

1) 大表

2) 主键(自动索引)

3) 单键列(自动索引)

4) 外键列(自动索引)

5) 大表上where子句常用的列

6) ORDER BY 或者GROUP BY子句中使用的列。

7) 至少返回表中20%行的查询

8) 不包含null值的列。

Oracle中的索引包含有如下几种类型:

B*树索引:这是Oracle中最常用的索引,它的构造类似于二叉树,能根据键提供一行或一个行集的快速访问,通常只需要很少的读操作就能找到正确的行。B*树索引由两列组成,第一列是ROWID, 它是行的位置;第二列是正被索引列的值。

SQL Server和Oracle中的索引

上一页  1 2 3 4 5 6 7  下一页

Tags:SQL Server Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接