SQL Server,Oracle,DB2索引建立语句的对比

数据库 SQL Server Oracle
本文我们主要对SQL Server,Oracle,DB2上的索引建立语句进行了总结,并给出了创建各种索引的语句示例,希望能够对您有所收获!

我们知道,索引是用于加速数据库查询的数据库对象。原理就是减少查询的IO操作,从而达到加速的目的。本文我们主要对SQL Server,Oracle,DB2上的索引建立语句进行了总结,接下来就让我们一起来了解一下这部分内容。

索引的种类:

聚集索引:根据数据行的键值在表或视图中排序和存储这些数据行.

非聚集索引:具有独立于数据行的结构.

***索引:确保索引键不包含重复的值.

在SQL SERVER上建立的索引:

Create (NONCLUSTERED ) index ind_emp on emp(empno); 默认的就是建立非聚集索引。

exec sp_helpindex emp; 用于查看建立的索引,查询会自己使用可以用到的索引。

Create index ind_emp1 on emp(empno,ename); 可以在多个列上建立复合索引。

***非聚集索引:

Create unique index ind_sal on emp(sal);

重新生成索引:

Alter index ind_sal on emp rebuild;

Drop index ind_emp on emp; 删除索引。

Create CLUSTERED  index ind_emp on emp(empno); 建立聚集索引。

Create index ind_emp on emp(empno,ename);

注:相同列上可以多次索引。

***聚集索引:

Create unique clustered index ind_sal on f_emp(sal);

在DB2上建立索引:

非***索引:create index ind_empno on emp(empno);

Describe indexes for table emp; 查看所建立的索引。

***索引:create unique index ind_empno on emp(empno);

纯索引是DB2上的一种特殊的索引,(相当于ORACLE上的索引组织表):相对与一般索引。如下方式表中有俩个字段,其中字段1是***主键,字段2为数据,实际的查询中经常是select empno,ename from emp where empno=1122;CREATE UNIQUE INDEX IDX_ENAME ON emp (empno) INCLUDE(eNAME)。上述的语句的意思就是在empno上创建***索引,选择包含ename的数据,这些附加的数据将与键存储到一起。

Drop index ind_emp;

Create  index ind_emp on emp(empno) cluster;

Create index ind_emp on emp(empno,ename);

***聚集索引:

drop index ind_emp;-- 一个表上只能有一个聚集索引。

Create unique  index ind_sal on u_emp(sal) cluster;  建立聚集索引。

在ORACLE上建立索引:

SQL>  create index ind1 on emp(mgr); BTree索引。

SQL> create index ind2 on emp(deptno) reverse; 反向索引。

SQL> create index ind3 on emp(hiredate desc); 降序索引。

SQL> create bitmap index ind4 on emp(sal); 位图索引。

SQL>  create index ind5 on emp upper(job); 函数索引。

关于SQL Server,Oracle,DB2上的索引建立语句的总结就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server 2008公布报表的三种措施
  2. Windows下编译MySQL数据库的过程详解
  3. SQL Server 2008 R2主数据服务MDS X64安装详解
  4. Windows ServerCore上安装SQL Server Denali CTP3
  5. Team Foundation Server 2010群体配合环境的搭建步骤
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2011-08-17 21:49:55

建立视图SQL ServerOracle

2011-08-17 21:23:41

约束NOT NULLUNIQUE

2011-08-22 17:18:53

SQL ServerOracleDB2

2010-09-06 15:13:05

DB2

2010-11-04 15:39:40

DB2 SQL语句

2010-11-04 11:39:47

2010-11-11 11:25:45

SQL UPDATE语

2011-05-17 09:40:18

SQL Server IBM DB2

2011-08-22 17:41:25

SQL ServerOracleDB2

2010-04-09 12:20:11

Oracle SQL

2010-08-02 14:30:29

DB2建立

2010-11-04 11:17:42

DB2 Merge语句

2010-11-03 16:01:31

DB2索引的语法

2010-08-12 10:43:36

DB2 SQL移植

2010-11-01 11:13:57

DB2表管理

2010-11-02 11:49:18

SQL SERVER连

2010-08-26 09:56:57

DB2SQL SERVER互连

2010-11-02 11:36:10

DB2索引创建

2010-09-07 17:36:37

DB2索引设计准则

2010-11-02 11:22:06

DB2索引类型
点赞
收藏

51CTO技术栈公众号