程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> SQL Server,Oracle,DB2索引建立語句的對比

SQL Server,Oracle,DB2索引建立語句的對比

編輯:Oracle數據庫基礎

我們知道,索引是用於加速數據庫查詢的數據庫對象。原理就是減少查詢的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); 函數索引。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved