婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL SERVER的優化建議與方法

SQL SERVER的優化建議與方法

熱門標簽:沈陽外呼系統有效果嗎 溫州語音外呼系統排名 百度地圖標注信息怎么修改 福州外呼系統招商 AI智能云呼電話機器人怎么注冊 四川穩定外呼系統公司 電話機器人接口是什么樣的 怎么在高德地圖標注多個點 商家地圖標注圖片
在實際的工作中,尤其是在生產環境里邊,SQL語句的優化問題十分的重要,它對數據庫的性能的提升也起著顯著的作用.我們總是在抱怨機器的性能問題,總是在抱怨并發訪問所帶來的瑣問題,但是如果我們對沒一條SQL語句進行優化,盡管不能說可以解決全部問題,但是至少可以解決大部分問題.
1.Top排序問題.
我們經常要對表某個字段進行排序,然后取前N名.所以我們會寫如下的SQL語句:
select top 100 * from 表
order by Score desc
  如果表非常大的話,那么這樣的操作是非常消耗資源的,因為SQL SERVER要對整個表進行排序,然后取前N條記錄.這樣的造作是在Temdb里邊進行的,所以極端的時候會報Log已滿這樣的錯誤.為了避免進行全表的排序,我們要做的僅僅是在Score上建立索引,這樣因為Score索引的葉級是有序的,只要在Score所以的頁級取前100個,然后根據書簽查找到實際的記錄,這樣對DB的性能就會有極大的提升.
2.同一天問題.
我們經常要查找和一個日期同一天的記錄,所以我們回寫如下的SQL語句;
declare @DateTime datetime
set @DateTime=getdate()
select * from 表
where convert(char(10),F_Time,120)=convert(char(10),@DateTime,120)
  但是這樣寫的SQL語句帶來的問題就是不能使用F_Time上的索引了.為了近可能的使用F_Time上的索引,我們可以使用時間段查詢的方式來代替上邊的語句.
declare @start datetime
declare @end datetime
declare @datetime datetime
set @datetime=getdate()
set @start=convert(char(10),@datetime,120)  --  一天的其始時間
set @end=dateadd(ss,-1,dateadd(d,1,@start))  --  一天的結束時間
select *from 表 where F_Time between @start and @end
這樣就解決了使用不上索引的問題.
 3.利用索引進行分組操作.】  我們經常要對某一字段進行分組,而對另外一些字段進行聚合操作.如果我們對分組的字段合理的使用索引,可以加快我們分組的速度.下邊以Northwind的Orders表為例:
--  orders表的EmployeeID上建有索引.
select EmployeeID,count(*)
from orders
group by EmployeeID
--  查看執行計劃,此查詢利用了EmployeeID上的索引.如改成如下查詢:
select EmployeeID,sum(Freight)
from orders
group by EmployeeID
--  查看執行計劃,此查詢則沒有使用EmployeeID上的索引.而是使用了全表掃描.那么原因是什么呢?是因為Freight沒有在EmployeeID的索引上,所以通過索引不能得到結果.而如果通過書簽查詢的成本太高,所以SQL SERVER選擇了使用全表掃描.而如果我們執行在EmployeeID和Freight上建立復合索引呢?
create index idx_EmployeeID on orders(EmployeeID,Freight)
--  再次執行第二個查詢.查看執行計劃.SQL SERVER使用的我們建立的索引.只需要使用索引就可以查詢到結果,極大的提高了我們的查詢速度.
您可能感興趣的文章:
  • SQL語句優化方法30例(推薦)
  • SQLServer 優化SQL語句 in 和not in的替代方案
  • MSSQL Server 查詢優化方法 整理
  • SQL Server 服務器優化技巧淺談
  • SQL SERVER 的SQL語句優化方式小結
  • SQL Server 數據庫優化
  • SQL SERVER性能優化綜述(很好的總結,不要錯過哦)
  • sql語句優化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的語句
  • 海量數據庫的查詢優化及分頁算法方案
  • SQL Server數據庫的高性能優化經驗總結

標簽:西寧 無錫 營口 寶雞 來賓 汕尾 邯鄲 七臺河

巨人網絡通訊聲明:本文標題《SQL SERVER的優化建議與方法》,本文關鍵詞  SQL,SERVER,的,優化,建議,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL SERVER的優化建議與方法》相關的同類信息!
  • 本頁收集關于SQL SERVER的優化建議與方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鹤庆县| 余江县| 青神县| 扎鲁特旗| 永城市| 梧州市| 金溪县| 凤城市| 娄底市| 扎赉特旗| 岑巩县| 三亚市| 法库县| 德格县| 山阴县| 会宁县| 疏勒县| 西乌| 抚远县| 汝州市| 丹巴县| 武鸣县| 吴桥县| 四子王旗| 涞水县| 常德市| 宝山区| 广饶县| 溧水县| 台山市| 东阿县| 东丰县| 隆回县| 应用必备| 康乐县| 离岛区| 温泉县| 包头市| 平江县| 津市市| 射阳县|