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

以文本方式查看主題

-  昂捷論壇  (http://www.26035.net/bbs/index.asp)
--  □-技術研討會  (http://www.26035.net/bbs/list.asp?boardid=36)
----  如何讓你的報表(查詢)運行速度更快  (http://www.26035.net/bbs/dispbbs.asp?boardid=36&id=7980)

--  作者:ssp
--  發(fā)布時間:2011/5/15 17:16:44
--  如何讓你的報表(查詢)運行速度更快

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

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

2、在同樣情況下表多次掃描慢于一次描,所以用exists、not exists代替in、not in,來減少掃描次數(shù),并在寫關聯(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,@日期),得出的結果是一樣的,但效率會差幾十倍(取決于數(shù)據(jù)量,越大越明顯),為什么會慢呢? 即使c_date不是索引字段這兩個查詢速度也是有區(qū)別的,加函數(shù)以后要經(jīng)過幾次運算才可以比較,不加函數(shù),就是日期和日期的直接比較。

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

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

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

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

 

 

 

 


安庆市| 故城县| 天柱县| 松阳县| 中西区| 商城县| 兰西县| 石泉县| 松江区| 屯昌县| 若羌县| 桃园市| 饶阳县| 徐汇区| 沅陵县| 秭归县| 利川市| 信阳市| 商水县| 沾化县| 盐城市| 青冈县| 金秀| 沙湾县| 临泽县| 绥江县| 湄潭县| 东乡县| 广灵县| 鹤山市| 宁蒗| 巨野县| 民和| 基隆市| 阳信县| 兴仁县| 旬阳县| 康乐县| 紫云| 大名县| 肇东市|