優(yōu)化數(shù)據(jù)庫前要知道的十大問題 |
發(fā)布時(shí)間: 2012/8/4 17:03:34 |
在優(yōu)化你的數(shù)據(jù)庫時(shí),你可能沒有用到這些細(xì)節(jié)的優(yōu)點(diǎn)。以下是10個(gè)關(guān)于你的數(shù)據(jù)庫性能的問題,需要你問問自己。 1. 假設(shè)你的數(shù)據(jù)庫不需要存儲(chǔ)特殊字符的能力,尤其是Unicode標(biāo)準(zhǔn)中規(guī)定的那些字符,你有沒有在系統(tǒng)中把nchar類型替換成char之類的各種適用的字段類型? 2. 你是不是在用smalldatetime類型,而不是datetime?如果你不清楚這兩種類型有什么區(qū)別,這是一個(gè)簡單介紹: smalldatetime類型可以存儲(chǔ)1900年1月1日至2079年6月6日的日期,而datetime類型把這一范圍擴(kuò)展到了1753年1月1日至 9999年12月31日。你需要這么大的范圍嗎? -
4. SQL Server 2000在bit類型字段中允許空值,而且是默認(rèn)的。有人希望這樣,也有人不希望這樣。 5. 你如何處理字段中的空值?默認(rèn)方式是允許空值,但更好的辦法是禁止空值,允許零長度的字符串。 6. 你想過表中能容納的最多行數(shù)嗎?你比較過這個(gè)數(shù)值和數(shù)據(jù)頁的大小8060字節(jié)嗎? 7. 你有沒有好好利用標(biāo)準(zhǔn)字段?(去看看菜單里的工具->選項(xiàng)->標(biāo)準(zhǔn)字段) 8. 你的表中有沒有一個(gè)時(shí)間戳字段?如果沒有的話,你知道什么時(shí)候這種字段會(huì)有用處嗎? 9. 你的表都有區(qū)塊索引嗎?你知道一個(gè)表什么時(shí)候應(yīng)該有區(qū)塊索引,什么時(shí)候一文不值嗎? 10. 你在命名存儲(chǔ)過程時(shí)有沒有用sp_前綴?你有沒有意識(shí)到這樣做給性能帶來了什么影響? 要避免這些常見的開發(fā)問題,一個(gè)很好的辦法是使用SSW的SQL Auditor,它能審核的事情遠(yuǎn)遠(yuǎn)不止我所列出的10條。SQL Auditor的價(jià)格很合理,最好的一點(diǎn)是你可以下載測(cè)試版,試用20次之后再付費(fèi)。SSW的試用策略吸引了我,可能因?yàn)槲医?jīng)常下載一些限制14天使用的試用軟件,之后忘記運(yùn)行它,直到試用期過去。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |