初考-統計資料處理大意114 年第 23 題單選題
在關聯式資料庫裡的單一資料表中,下列關於索引(Index)的描述那個正確?
A一個索引只能索引一個欄位
B只能有一個主索引(Primary Index)正確答案
C只能有一個次索引(Secondary Index)
D可以節省儲存空間
B正確答案
主索引(Primary Index)每個資料表只能有一個,次索引可以多個,索引還會佔用額外空間。
為什麼答案是 B
正確。主索引通常建立在主鍵(Primary Key)上,由於主鍵在一個資料表中只能有一組,因此主索引也只會有一個,用來決定資料實體排序。
載入中…
完整詳解
Pro · 無限重點 主索引(Primary Index)每個資料表只能有一個,次索引可以多個,索引還會佔用額外空間。
逐選項分析
A✕ 陷阱
錯誤。索引可以是「複合索引(Composite Index)」,同時對多個欄位建立,例如 (姓氏, 名字) 一起索引,加速多欄位查詢。
B✓ 正確
正確。主索引通常建立在主鍵(Primary Key)上,由於主鍵在一個資料表中只能有一組,因此主索引也只會有一個,用來決定資料實體排序。
C✕
錯誤。次索引(Secondary Index)是為了加速非主鍵欄位的查詢,可以針對不同欄位建立多個,數量沒有限制(但太多會影響寫入效能)。
D✕ 陷阱
錯誤。索引本身是額外的資料結構(通常是 B-Tree 或 B+Tree),會「佔用額外儲存空間」,不是節省空間。索引是用空間換取查詢時間。
主索引 vs 次索引比較
| 類型 | 數量 | 建立對象 | 資料排序 |
|---|
| 主索引 Primary | 只能 1 個 | 主鍵 (PK) | 影響實體排序 |
| 次索引 Secondary | 可以多個 | 非主鍵欄位 | 不影響實體排序 |
| 複合索引 | 可多個 | 多欄位組合 | 依組合鍵排序 |
最容易誤選 D,以為索引像壓縮一樣節省空間。其實索引是「用空間換時間」,額外建立 B-Tree 結構反而吃硬碟,寫入時還要同步維護,拖慢新增/修改速度。