講解優化數據庫時必須注意的一些細節問題 數據庫設計
關鍵字:講解 優化數據庫 細節
在優化數據庫時,我們可能沒有用到以下這些細節的優點。下面是一些關于數據庫性能的問題,僅供大家參考。
1. 假設你的數據庫不需要存儲特殊字符的能力,尤其是Unicode標準中規定的那些字符,你有沒有在系統中把nchar類型替換成char之類的各種適用的字段類型?
2. 你是不是在用smalldatetime類型,而不是datetime?如果你不清楚這兩種類型有什么區別,這是一個簡單介紹:smalldatetime類型可以存儲1900年1月1日至2079年6月6日的日期,而datetime類型把這一范圍擴展到了1753年1月1日至9999年12月31日。你需要這么大的范圍嗎?
3. 你是不是例行公事地使用bit類型來代替smallint類型?如果是這樣,你知道其中的代價嗎?這對你的程序可能并沒有影響,但smallint類型可以建立索引,bit類型不行。
4. SQL Server 2000在bit類型字段中允許空值,而且是默認的。有人希望這樣,也有人不希望這樣。
5. 你如何處理字段中的空值?默認方式是允許空值,但更好的辦法是禁止空值,允許零長度的字符串。
6. 你想過表中能容納的最多行數嗎?你比較過這個數值和數據頁的大小8060字節嗎?
7. 你有沒有好好利用標準字段?(去看看菜單里的工具->選項->標準字段)
8. 你的表中有沒有一個時間戳字段?如果沒有的話,你知道什么時候這種字段會有用處嗎?
9. 你的表都有區塊索引嗎?你知道一個表什么時候應該有區塊索引,什么時候一文不值嗎?
10. 你在命名存儲過程時有沒有用sp_前綴?你有沒有意識到這樣做給性能帶來了什么影響?
原文轉自:http://www.anti-gravitydesign.com