詳解優(yōu)化SQL Server數(shù)據(jù)庫(kù)的方法(6)_Mssql數(shù)據(jù)庫(kù)教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:解決SQL Server無(wú)法打開用戶默認(rèn)數(shù)據(jù)庫(kù)的問(wèn)題無(wú)法打開用戶默認(rèn)數(shù)據(jù)庫(kù),登錄失敗,這是SQL Server使用者熟悉的問(wèn)題之一。在使用企業(yè)管理器、查詢分析器、各類工具和應(yīng)用軟件的時(shí)候,只要關(guān)系到連接SQL Server數(shù)據(jù)庫(kù)的時(shí)候,都有可能會(huì)碰到此問(wèn)題,引起此錯(cuò)誤發(fā)生的原因比較多,下面我們就來(lái)詳細(xì)分析引起此問(wèn)
3、高程序運(yùn)行效率,優(yōu)化應(yīng)用程序,在SP編寫過(guò)程中應(yīng)該注意以下幾點(diǎn):
a)SQL的使用規(guī)范:
i. 盡量避免大事務(wù)操作,慎用holdlock子句,提高系統(tǒng)并發(fā)能力。
ii. 盡量避免反復(fù)訪問(wèn)同一張或幾張表,尤其是數(shù)據(jù)量較大的表,可以考慮先根據(jù)條件提取數(shù)據(jù)到臨時(shí)表中,然后再做連接。
iii. 盡量避免使用游標(biāo),因?yàn)橛螛?biāo)的效率較差,如果游標(biāo)操作的數(shù)據(jù)超過(guò)1萬(wàn)行,那么就應(yīng)該改寫;如果使用了游標(biāo),就要盡量避免在游標(biāo)循環(huán)中再進(jìn)行表連接的操作。
iv. 注意where字句寫法,必須考慮語(yǔ)句順序,應(yīng)該根據(jù)索引順序、范圍大小來(lái)確定條件子句的前后順序,盡可能的讓字段順序與索引順序相一致,范圍從大到小。
v. 不要在where子句中的“=”左邊進(jìn)行函數(shù)、算術(shù)運(yùn)算或其他表達(dá)式運(yùn)算,否則系統(tǒng)將可能無(wú)法正確使用索引。
vi. 盡量使用exists代替select count(1)來(lái)判斷是否存在記錄,count函數(shù)只有在統(tǒng)計(jì)表中所有行數(shù)時(shí)使用,而且count(1)比count(*)更有效率。
vii. 盡量使用“>=”,不要使用“>”。
viii. 注意一些or子句和union子句之間的替換
ix. 注意表之間連接的數(shù)據(jù)類型,避免不同類型數(shù)據(jù)之間的連接。
x. 注意存儲(chǔ)過(guò)程中參數(shù)和數(shù)據(jù)類型的關(guān)系。
xi. 注意insert、update操作的數(shù)據(jù)量,防止與其他應(yīng)用沖突。如果數(shù)據(jù)量超過(guò)200個(gè)數(shù)據(jù)頁(yè)面(400k),那么系統(tǒng)將會(huì)進(jìn)行鎖升級(jí),頁(yè)級(jí)鎖會(huì)升級(jí)成表級(jí)鎖。
b)索引的使用規(guī)范:
i. 索引的創(chuàng)建要與應(yīng)用結(jié)合考慮,建議大的OLTP表不要超過(guò)6個(gè)索引。
ii. 盡可能的使用索引字段作為查詢條件,尤其是聚簇索引,必要時(shí)可以通過(guò)index index_name來(lái)強(qiáng)制指定索引
iii. 避免對(duì)大表查詢時(shí)進(jìn)行table scan,必要時(shí)考慮新建索引。
iv. 在使用索引字段作為條件時(shí),如果該索引是聯(lián)合索引,那么必須使用到該索引中的第一個(gè)字段作為條件時(shí)才能保證系統(tǒng)使用該索引,否則該索引將不會(huì)被使用%
分享:揭秘優(yōu)化SQL Server數(shù)據(jù)庫(kù)查詢的方法文中,abigale代表查詢字符串,ada代表數(shù)據(jù)表名,alice代表字段名。 技巧一: 問(wèn)題類型:ACCESS數(shù)據(jù)庫(kù)字段中含有日文片假名或其它不明字符時(shí)查詢會(huì)提示內(nèi)存溢出。 解決方法:修改查詢語(yǔ)句 sql=select * from ada where alice like '%abigale%' 改為 sql=
相關(guān)Mssql數(shù)據(jù)庫(kù)教程:
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- 經(jīng)驗(yàn)總結(jié):講解大型數(shù)據(jù)庫(kù)的設(shè)計(jì)準(zhǔn)則
- 如何提高SQL語(yǔ)句性能
- 解析SQL Server 2000視圖問(wèn)題
- 怎樣從多個(gè)位置截取字符串的SQL語(yǔ)句
- 怎樣巧妙規(guī)劃使用Oracle數(shù)據(jù)空間
- Sql2005如何用dtexec運(yùn)行ssis(DTS)包
- SQL2008 附加數(shù)據(jù)庫(kù)提示5120錯(cuò)誤解決方法
- SQLServer 2008中的代碼安全(五) 非對(duì)稱密鑰加密
- SQL Server中, DateTime (日期)型操作的 SQL語(yǔ)法
- 基于SQL Server中如何比較兩個(gè)表的各組數(shù)據(jù) 圖解說(shuō)明
猜你也喜歡看這些
- 綠色版mysql注冊(cè)卸載服務(wù)方法
- mysql服務(wù)器字符集查詢和設(shè)置方法
- 如何通過(guò)配置自動(dòng)實(shí)現(xiàn)ValueList中hql語(yǔ)句的整型參數(shù)轉(zhuǎn)換
- mysql創(chuàng)建函數(shù)出現(xiàn)1418錯(cuò)誤的解決辦法
- linux Xtrabackup安裝及使用方法
- MySQL數(shù)據(jù)庫(kù)INSERT、UPDATE、DELETE以及REPLACE語(yǔ)句的用法詳解
- MySQL與Oracle的語(yǔ)法區(qū)別詳細(xì)對(duì)比
- 驗(yàn)證實(shí)例名稱是否正確
- MySQL筆記之視圖的使用詳解
- mysql使用source 命令亂碼問(wèn)題解決方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
Mssql數(shù)據(jù)庫(kù)教程-詳解優(yōu)化SQL Server數(shù)據(jù)庫(kù)的方法(6)
。