在優(yōu)化你的數(shù)據(jù)庫時(shí),你可能沒有用到這些細(xì)節(jié)的優(yōu)點(diǎn)。以下是10個關(guān)于你的數(shù)據(jù)庫性能的問題,需要你問問自己。
1. 假設(shè)你的數(shù)據(jù)庫不需要存儲特殊字符的能力,尤其是Unicode標(biāo)準(zhǔn)中規(guī)定的那些字符,你有沒有在系統(tǒng)中把nchar類型替換成char之類的各種適用的字段類型?
2. 你是不是在用smalldatetime類型,而不是datetime?如果你不清楚這兩種類型有什么區(qū)別,這是一個簡單介紹:smalldatetime類型可以存儲1900年1月1日至2079年6月6日的日期,而datetime類型把這一范圍擴(kuò)展到了1753年1月1日至9999年12月31日。你需要這么大的范圍嗎?
3. 你是不是例行公事地使用bit類型來代替smallint類型?如果是這樣,你知道其中的代價(jià)嗎?這對你的程序可能并沒有影響,但smallint類型可以建立索引,bit類型不行。
4. SQL Server 2000在bit類型字段中允許空值,而且是默認(rèn)的。有人希望這樣,也有人不希望這樣。
5. 你如何處理字段中的空值?默認(rèn)方式是允許空值,但更好的辦法是禁止空值,允許零長度的字符串。
6. 你想過表中能容納的最多行數(shù)嗎?你比較過這個數(shù)值和數(shù)據(jù)頁的大小8060字節(jié)嗎?
7. 你有沒有好好利用標(biāo)準(zhǔn)字段?(去看看菜單里的工具->選項(xiàng)->標(biāo)準(zhǔn)字段)
8. 你的表中有沒有一個時(shí)間戳字段?如果沒有的話,你知道什么時(shí)候這種字段會有用處嗎?
9. 你的表都有區(qū)塊索引嗎?你知道一個表什么時(shí)候應(yīng)該有區(qū)塊索引,什么時(shí)候一文不值嗎?
10. 你在命名存儲過程時(shí)有沒有用sp_前綴?你有沒有意識到這樣做給性能帶來了什么影響?
要避免這些常見的開發(fā)問題,一個很好的辦法是使用SSW的SQL Auditor,它能審核的事情遠(yuǎn)遠(yuǎn)不止我所列出的10條。SQL Auditor的價(jià)格很合理,最好的一點(diǎn)是你可以下載測試版,試用20次之后再付費(fèi)。SSW的試用策略吸引了我,可能因?yàn)槲医?jīng)常下載一些限制14天使用的試用軟件,之后忘記運(yùn)行它,直到試用期過去。
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請?jiān)L問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |