国产亚洲精品a在线看。,骚货想不想被艹,国产麻豆剧传媒兔子先生,好大好爽好想要被操视频


昂捷論壇≡零售最前線≡□-技術(shù)研討會 → 如何讓你的報表(查詢)運行速度更快


  共有27704人關(guān)注過本帖樹形打印

主題:如何讓你的報表(查詢)運行速度更快

帥哥喲,離線,有人找我嗎?
ssp
  1樓 個性首頁 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:昂捷團隊↑ 帖子:15 積分:437 威望:0 精華:1 注冊:2010/3/26 14:21:13
如何讓你的報表(查詢)運行速度更快  發(fā)帖心情 Post By:2011/5/15 17:16:44

現(xiàn)在數(shù)據(jù)庫服務(wù)器的配置都很高,雖然通過大內(nèi)存、RAID技術(shù)解決了磁盤IO的瓶頸,但對于我們業(yè)務(wù)系統(tǒng)長期運行產(chǎn)生的海量數(shù)據(jù)來說對查詢優(yōu)化也是十分重要的。下面介紹幾種優(yōu)化方法:

1、數(shù)據(jù)轉(zhuǎn)儲和分區(qū)表:前者查詢起來麻煩,需要union兩個以上的表,轉(zhuǎn)儲時用刪除原表、插入歷史表的方法,可減少生產(chǎn)服務(wù)器的存儲空間(數(shù)量少查詢就快),用于處理極不常用的歷史數(shù)據(jù);使用分區(qū)表時需要在查詢時指定分區(qū)表名,操作起來不靈活,但清除歷史數(shù)據(jù)的速度比較快,可以把一個分區(qū)表數(shù)據(jù)刪除,非常適合銷售流水之類的數(shù)據(jù)。

2、在同樣情況下表多次掃描慢于一次描,所以用exists、not exists代替in、not in,來減少掃描次數(shù),并在寫關(guān)聯(lián)條件時盡量用索引字段。

3、join 快于left join 快于 full join。

4、在寫查詢時用“sp_help 表名”看下這個表有幾個索引,哪個索引最適合你,盡量把索引的第一個字段作為查詢的第一個條件,第二個字段作為查詢的第二個條件等。不要在索引字段上加函數(shù),如:datediff(day,c_date,@日期)=0,如果c_date是這個表的索引字段,那么數(shù)據(jù)庫引擎不會選擇這個索引,可以改成這樣c_date>=@日期 and c_date<dateadd(day,1,@日期),得出的結(jié)果是一樣的,但效率會差幾十倍(取決于數(shù)據(jù)量,越大越明顯),為什么會慢呢? 即使c_date不是索引字段這兩個查詢速度也是有區(qū)別的,加函數(shù)以后要經(jīng)過幾次運算才可以比較,不加函數(shù),就是日期和日期的直接比較。

5、數(shù)值型的條件的常量不要加引號,這樣有可能數(shù)值型的字段會被轉(zhuǎn)成字符型,如數(shù)值型的字段c_id=123456,最好不要寫成c_id='123456'

6、全索引掃描慢于部分索引掃描,所以LIKE條件中的%_盡量放在最后面。

7、學會看查詢計劃,看下查詢的哪個部分效率低,有沒有優(yōu)化的可能。

8、采用高轉(zhuǎn)大容量大緩存的SAS盤、高緩存高速的RAID卡、多通道的高容量高速的內(nèi)存。盡量使用64位系統(tǒng),64位系統(tǒng)字長比32位大一倍,還可以使用超大內(nèi)存。32位系統(tǒng)要開啟pae啟動參數(shù),sql用awe分配內(nèi)存,這樣才能使用大內(nèi)存,減少磁盤的IO。

 

 

 

 


使用IE9無法添加附件的解決方法 支持(0中立(0反對(0回到頂部
息烽县| 抚远县| 石城县| 宽城| 广宗县| 城步| 宁远县| 定日县| 开封县| 略阳县| 藁城市| 灌南县| 锡林郭勒盟| 论坛| 石河子市| 紫云| 时尚| 新竹县| 凉山| 萨迦县| 长寿区| 奎屯市| 上林县| 明光市| 甘孜| 浏阳市| 洪洞县| 白河县| 会昌县| 定兴县| 闽清县| 四川省| 外汇| 安丘市| 开远市| 五家渠市| 广昌县| 井研县| 平安县| 馆陶县| 和田市|