亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

優化SQL Server數據邏輯,提高查詢性能

添加時間:2014-3-4 17:08:12  添加: 思海網絡 
SQL語句優化的原則:

  1.使用索引來更快地遍歷表

  缺省情況下建立的 索引是非群集索引,但有時它并不是最佳的。在非群集索引下,數據在物理上隨機存放在數據頁上。合理的索引設計要建立在對各種查詢的分析和預測上。一般來 說:①.有大量重復值、且經常有范圍查詢(between, > ,< ,> =,< =)和order by、group by發生的列,可考慮建立群集索引;②.經常同時存取多列,且每列都含有重復值可考慮建立組合索引;③.組合索引要盡量使關鍵查詢形成索引覆蓋,其前導列 一定是使用最頻繁的列。索引雖有助于提高性能但不是索引越多越好,恰好相反過多的索引會導致系統低效。用戶在表中每加進一個索引,維護索引集合就要做相應 的更新工作。

  2.IS NULL 與 IS NOT NULL

  不能用null作索引,任何包含null值的列都將不 會被包含在索引中。即使索引有多列這樣的情況下,只要這些列中有一列含有null,該列就會從索引中排除。也就是說如果某列存在空值,即使對該列建索引也 不會提高性能。任何在where子句中使用is null或is not null的語句優化器是不允許使用索引的。

  3.IN和EXISTS

  EXISTS要遠比IN的效率高。里面關系到full table scan和range scan。幾乎將所有的IN操作符子查詢改寫為使用EXISTS的子查詢。

  4.在海量查詢時盡量少用格式轉換。

  5.當在SQL Server 2000中,如果存儲過程只有一個參數,并且是OUTPUT類型的,必須在調用這個存儲過程的時候給這個參數一個初始的值,否則會出現調用錯誤。

  6.ORDER BY和GROPU BY

  使用ORDER BY和GROUP BY短語,任何一種索引都有助于SELECT的性能提高。注意如果索引列里面有NULL值,Optimizer將無法優化。

  7.任何對列的操作都將導致表掃描,它包括數據庫函數、計算表達式等等,查詢時要盡可能將操作移至等號右邊。

  8.IN、OR子句常會使用工作表,使索引失效。如果不產生大量重復值,可以考慮把子句拆開。拆開的子句中應該包含索引。

  9.SET SHOWPLAN_ALL ON 查看執行方案。DBCC檢查數據庫數據完整性。

  DBCC(DataBase Consistency Checker)是一組用于驗證 SQL Server 數據庫完整性的程序。

  10.慎用游標

  在某些必須使用游標的場合,可考慮將符合條件的數據行轉入臨時表中,再對臨時表定義游標進行操作,這樣可使性能得到明顯提高。

  優化數據庫的方法:

  1.關鍵字段建立索引。

  2.使用存儲過程,它使SQL變得更加靈活和高效。

  3.備份數據庫和清除垃圾數據。

  4.SQL語句語法的優化。(可以用Sybase的SQL Expert,可惜我沒找到unexpired的

  序列號)

  5.清理刪除日志。

  總結:

  優化就是WHERE子句利用了索引,不可優化即發生了表掃描或額外開銷。經驗證,SQL Server性能的最大改進得益于邏輯的數據庫設計、

   索引設計和查詢設計方面。反過來說,最大的性能問題常常是由其中這些相同方面中的不足引起的。其實SQL優化的實質就是在結果正確的前提下,用優化器可 以識別的語句,充份利用索引,減少表掃描的I/O次數,盡量避免表搜索的發生。其實SQL的性能優化是一個復雜的過程,以上這些只是在應用層次的一種體 現,深入研究還會涉及數據庫層的資源配置、網絡層的流量控制以及操作系統層的總體設計。

關鍵字:SQL Server、數據庫、邏輯

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站