freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

[計算機]sql語句優(yōu)化(編輯修改稿)

2025-09-17 16:34 本頁面
 

【文章內容簡介】 性。查詢中使用主鍵時,此索引還可用來對數(shù)據(jù)進行快速訪問。(注意:如果你建立了主鍵,默認情況下它就是聚集 索引)2.為每一個外鍵列建立一個索引,如果確認它是唯一的,就建立唯一索引。當在查詢中組合相關表中的數(shù)據(jù)時,經常在聯(lián)接條件中使用外鍵列,索引使 SQL Server 2005 數(shù)據(jù)庫引擎 可以在外鍵表中快速查找相關數(shù)據(jù)。3.暫時不要為其他列建立索引4.當在TSQL中引用對象時,建議使用對象的架構名稱限定。()未指定架構可 能會導致混淆和意義不明確,還有一個重要原因,當很多連接同時運行同一個存儲過程時,如果未指定架構名稱,這些連接可能會因為要獲取編譯鎖 (pile lock)而互相阻塞。5.使用SET NOCOUNT ON在每個存儲過程的開頭SET NOCOUNT OFF在結尾。當 SET NOCOUNT 為 ON 時,將不給客戶端發(fā)送存儲過程中的每個語句的 DONE_IN_PROC 信息。當使用 Microsoft SQL Server 提供的實用工具執(zhí)行查詢時,在 TransactSQL 語句(如 SELECT、INSERT、UPDATE 和 DELETE)結束時將不會在查詢結果中顯示n rows affected。如果存儲過程中包含的一些語句并不返回許多實際的數(shù)據(jù),則該設置由于大量減少了網絡流量,因此可顯著提高性能。補充: SET NOCOUNT 為 ON 時,也更新 @@ROWCOUNT 函數(shù)。2. @@ROWCOUNT是返回受上一語句影響的行數(shù),包括找到記錄的數(shù)目、刪除的行數(shù)、更新的記錄數(shù)等,不要認為是返回查找的記錄數(shù)目,而且 @@ROWCOUNT要緊跟需要判斷語句,否則@@ROWCOUNT將返回0。3. 使用錯誤處理程序,用來檢查 @@ERROR 系統(tǒng)函數(shù)的 TSQL 語句 (IF) 實際上在進程中清除了 @@ERROR 值,無法再捕獲除零之外的任何值,必須使用 SET 或 SELECT 立即捕獲錯誤代碼。6.慎用鎖,可以使用NOLOCK提示,它與READUNCOMMITTED是等價的。更簡單的做法是在存儲過程的開頭SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED,結尾READ COMMITTED。7.查詢僅 僅返回需要的行和列8.在適當?shù)臅r候使用事務,盡量將事務放在一個存儲過程中。9.盡量少的使用臨時表,因為大量使用臨時表可能使 tempdb成為瓶頸??梢允褂帽肀磉_式,包括派生表、CTE、視圖和內聯(lián)表值UDF。補充:CTE是SQL Server 2005的一項強大而靈活的功能。它使得SQL Server的可讀性更強,更易于管理,降低了查詢的復雜程度。執(zhí)行遞歸查詢是CTE最重要也是最強大的功能。10.避免使用NOT IN,可以用LEFT OUTER JOIN代替它11.如果需要使用動態(tài)SQL,sp_executesql更具優(yōu)勢,因為它提供了輸入輸出接口,并且更有可能重用執(zhí)行計劃,因為你可以更容易的生 成被重復調用的查詢字符串。注意有一點聲明的參數(shù)類型盡量和查詢關鍵字字段類型一致,否則可能導致低的查詢效率。12.當修改你的代碼時,比較前后代碼執(zhí)行的性能,如果發(fā)現(xiàn)在CPU、IO上有大的增長,需要檢查代碼的修改13.盡量減少和服務器的交互,可以通過一次返回多結果集來解決。14.一般情況下不需要使用INDEX和JOIN提示,因為優(yōu)化器會選擇最優(yōu)的執(zhí)行計劃。如果統(tǒng)計信息沒有更新會影響查詢計劃的選擇。15.在本地測試時,可以看一看語句在CPU,IO或執(zhí)行時間上是否異常。通常利用命令:set statistics io on, set statistics time on , set showplan on 等。16.如果用到其他庫的Table或View,可以在當前庫中建立View來實
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1