新聞中心
SQL Server查詢語句如何設(shè)計才能讓數(shù)據(jù)庫的查詢效率更高呢?這是我們經(jīng)常需要考慮的問題,下面就為您介紹SQL Server查詢語句的設(shè)計方法,供您參考。

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計、網(wǎng)站制作與策劃設(shè)計,惠城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:惠城等地區(qū)?;莩亲鼍W(wǎng)站價格咨詢:18980820575
SQL Server優(yōu)化器通過分析查詢語句,自動對查詢進(jìn)行優(yōu)化并決定最有效的執(zhí)行方案。優(yōu)化器分析查詢語句來決定那個子句可以被優(yōu)化,并針對可以被優(yōu)化查詢的子句來選擇有用的索引。***優(yōu)化器比較所有可能的執(zhí)行方案并選擇最有效的一個方案出來。
在執(zhí)行一個查詢時,用一個where子句來限制必須處理的行數(shù),除非完全需要,否則應(yīng)該避免在一個表中無限制地讀并處理所有的行。
例如下面的例子,
select qty from sales where stor_id=7131
是很有效的比下面這個無限制的查詢
select qty from sales
避免給客戶的***數(shù)據(jù)選擇返回大量的結(jié)果集。允許SQL Server運行滿足它目的的函數(shù)限制結(jié)果集的大小是更有效的。
這能減少網(wǎng)絡(luò)I/O并能提高多用戶的相關(guān)并發(fā)時的應(yīng)用程序性能。因為優(yōu)化器關(guān)注的焦點就是where子句的查詢,以利用有用的索引。在表中的每一個索引都可能成為包括在where子句中的侯選索引。為了***的性能可以遵照下面的用于一個給定列column1的索引。
***:在表中的column1列上有一個單索引
第二:在表中有多索引,但是column1是***個索引的列不要在where子句中使用沒有column1列索引的查詢語句,并避免在where子句用一個多索引的非***個索引的索引。
這時多索引是沒有用的。
For example, given a multicolumn index on the au_lname, au_fname columns of the authors table in
the pubs database,
下面這個query語句利用了au_lname上的索引
SELECT au_id, au_lname, au_fname FROM authors
WHERE au_lname = ’White’
AND au_fname = ’Johnson’
SELECT au_id, au_lname, au_fname FROM authors
WHERE au_lname = ’White’
下面這個查詢沒有利用索引,因為他使用了多索引的非***個索引的索引
SELECT au_id, au_lname, au_fname FROM authors
WHERE au_fname = ’Johnson’
【編輯推薦】
帶您了解SQL Server分頁查詢語句
SQL Server無法啟動的三種解決方法
無法連接SQL Server數(shù)據(jù)庫的解決方法
SQL Server管理相關(guān)的注冊表技巧
SQL Server服務(wù)器角色簡介
網(wǎng)頁名稱:SQLServer查詢語句的設(shè)計
網(wǎng)頁URL:http://www.5511xx.com/article/dhdehid.html


咨詢
建站咨詢
