最佳化資料庫前需考慮的十個問題(轉)

heying1229發表於2007-06-28

最佳化資料庫前需考慮的十個問題

[@more@]

在最佳化你的資料庫時,你可能沒有用到這些細節的優點。以下是10個關於你的資料庫效能的問題,需要你問問自己……

  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_字首?你有沒有意識到這樣做給效能帶來了什麼影響?

  要避免這些常見的開發問題,一個很好的辦法是使用SSW的SQL Auditor,它能稽核的事情遠遠不止我所列出的10條。SQL Auditor的價格很合理,最好的一點是你可以下載測試版,試用20次之後再付費。SSW的試用策略吸引了我,可能因為我經常下載一些限制14天使用的試用軟體,之後忘記執行它,直到試用期過去

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10172717/viewspace-921774/,如需轉載,請註明出處,否則將追究法律責任。

相關文章