Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

請問要如何利用DB裡的Index,來加快select 的速度

請問一下....在DB裡,ex : Oracle ,如何利用index加快select的速度?

何謂index.?

要如何設index?

要如何使用index?

2 個解答

評分
  • Tiger
    Lv 4
    2 0 年前
    最佳解答

    Index,就是索引。

    例如,班級+座號,就可以成為一個Index,方便的快速找到學生。

    Index是當SQL語法裡面含有Where、Order By子句時,資料庫會「自動」去找最適合的Index,來加快速度,在某些資料庫還可以指定Select時要使用那個Index。

    以下是用Oracle來做一點點的範例:

    ----------

    例1:針對emp表格的lastname跟firstname做索引:

    CREATE INDEX idx_bt_emp_name ON

    TABLE emp ( lastname , firstname )

    例2:針對運算函數來做索引

    CREATE INDEX idx_bt_emp_func ON

    TABLE emp ( salary*1.08 )

    例3:針對排序來做索引

    CREATE INDEX idx_bt_emp_dep_sal ON

    TABLE emp ( dept ASC , salary DESC)

    例4:建立已排序且欄位具唯一性的索引

    CREATE UNIQUE INDEX idx_uni_emp_empno ON

    TABLE emp ( empno ASC)

    例5:索引用於低差異、低異動的欄位

    CREATE BITMAP INDEX idx_bit_emp_emp ON

    TABLE emp ( lastname )

    詳細的使用法,請翻閱相關文件

    2005-08-03 13:29:54 補充:

    琦琦說的對,有時後會拖慢Update的速度!

    如果無法handle之間的效率話,還是使用Data重整來的安全…

    參考資料: Oracle Fundamental 1
  • 琦琦
    Lv 5
    2 0 年前

    Index Key雖然可以加快select的速度,但是卻可能拖慢Update的速度。

    有時候也可以使用資料庫Data重整來加快Select的速度!!

還有問題?馬上發問,尋求解答。