1
我創建了一個名爲STUDENT
的表。它具有以下欄目:創建Oracle表索引
- 編號
- 名稱
- 姓
- 出生日期
- DateOfAdmission
- DateOfPassout
此表有如下主鍵:
- 編號
- 名稱
- 姓
- DateOfAdmission
我是否需要創建索引的列ID的另一個索引,名稱,如果要查詢該表提供輸入剛剛編號和名稱?
我創建了一個名爲STUDENT
的表。它具有以下欄目:創建Oracle表索引
此表有如下主鍵:
我是否需要創建索引的列ID的另一個索引,名稱,如果要查詢該表提供輸入剛剛編號和名稱?
查詢不需要索引。
如果可以使用索引,索引可能會加快查詢速度,但會降低INSERT/UPDATE/DELETE語句的速度。
我不清楚Oracle何時開始,但Oracle 10g +會在爲表定義主鍵時自動創建索引。該索引將與構成主鍵的列相匹配。因爲id
和name
列是主鍵的一部分,所以這對保證是唯一的,我不認爲需要創建額外的覆蓋索引。
您的主鍵真的需要四列嗎?從名稱來看,它看起來像「Id」應該是主鍵(我認爲它總是唯一的)。要明白,如果你的主鍵確實由四列組成,你最終會在其他表中有很多列來處理外鍵約束。 – 2011-01-13 09:27:05