2011-01-13 133 views
1

我創建了一個名爲STUDENT的表。它具有以下欄目:創建Oracle表索引

  • 編號
  • 名稱
  • 出生日期
  • DateOfAdmission
  • DateOfPassout

此表有如下主鍵:

  • 編號
  • 名稱
  • DateOfAdmission

我是否需要創建索引的列ID的另一個索引,名稱,如果要查詢該表提供輸入剛剛編號和名稱?

+0

您的主鍵真的需要四列嗎?從名稱來看,它看起來像「Id」應該是主鍵(我認爲它總是唯一的)。要明白,如果你的主鍵確實由四列組成,你最終會在其他表中有很多列來處理外鍵約束。 – 2011-01-13 09:27:05

回答

2

查詢不需要索引。
如果可以使用索引,索引可能會加快查詢速度,但會降低INSERT/UPDATE/DELETE語句的速度。

我不清楚Oracle何時開始,但Oracle 10g +會在爲表定義主鍵時自動創建索引。該索引將與構成主鍵的列相匹配。因爲idname列是主鍵的一部分,所以這對保證是唯一的,我不認爲需要創建額外的覆蓋索引。