(五)其他注意事項(xiàng)
“水可載舟,亦可覆舟”,索引也一樣。索引有助于提高檢索性能,但過(guò)多或不當(dāng)?shù)乃饕矔?huì)導(dǎo)致系統(tǒng)低效。過(guò)多的索引甚至?xí)䦟?dǎo)致索引碎片。
索引是從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)的最高效方式之一。95%的數(shù)據(jù)庫(kù)性能問(wèn)題都可以采用索引技術(shù)得到解決。
1. 不要索引常用的小型表
不要為小型數(shù)據(jù)表設(shè)置任何鍵,假如它們經(jīng)常有插入和刪除操作就更別這樣作了。對(duì)這些插入和刪除操作的索引維護(hù)可能比掃描表空間消耗更多的時(shí)間。
2. 不要把社會(huì)保障號(hào)碼(SSN)或身份證號(hào)碼(ID)選作鍵
永遠(yuǎn)都不要使用 SSN 或 ID 作為數(shù)據(jù)庫(kù)的鍵。除了隱私原因以外,SSN 或 ID 需要手工輸入。永遠(yuǎn)不要使用手工輸入的鍵作為主鍵,因?yàn)橐坏┠爿斎脲e(cuò)誤,你唯一能做的就是刪除整個(gè)記錄然后從頭開始。
3. 不要用用戶的鍵
在確定采用什么字段作為表的鍵的時(shí)候,可一定要小心用戶將要編輯的字段。通常的情況下不要選擇用戶可編輯的字段作為鍵。這樣做會(huì)迫使你采取以下兩個(gè)措施:
4. 不要索引 memo/notes 字段和不要索引大型文本字段(許多字符)
這樣做會(huì)讓你的索引占據(jù)大量的數(shù)據(jù)庫(kù)空間
5. 使用系統(tǒng)生成的主鍵
假如你總是在設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候采用系統(tǒng)生成的鍵作為主鍵,那么你實(shí)際控制了數(shù)據(jù)庫(kù)的索引完整性。這樣,數(shù)據(jù)庫(kù)和非人工機(jī)制就有效地控制了對(duì)存儲(chǔ)數(shù)據(jù)中每一行的訪問(wèn)。
采用系統(tǒng)生成鍵作為主鍵還有一個(gè)優(yōu)點(diǎn):當(dāng)你擁有一致的鍵結(jié)構(gòu)時(shí),找到邏輯缺陷很容易。
本文導(dǎo)航
- 第1頁(yè): 首頁(yè)
- 第2頁(yè): 何時(shí)使用聚集索引或非聚集索引
- 第3頁(yè): (三)結(jié)合實(shí)際,談索引使用的誤區(qū)
- 第4頁(yè): 其他書上沒有的索引使用經(jīng)驗(yàn)總結(jié)
- 第5頁(yè): 其他注意事項(xiàng)
- 第6頁(yè): 改善SQL語(yǔ)句
- 第7頁(yè): 實(shí)現(xiàn)小數(shù)據(jù)量和海量數(shù)據(jù)的通用分頁(yè)顯示存儲(chǔ)過(guò)程
- 第8頁(yè): 聚集索引的重要性和如何選擇聚集索引
- 第9頁(yè): 結(jié)束語(yǔ):
- 第10頁(yè): 相關(guān)軟件