數據庫優化方案
1、查詢出的數據量過大(可以采?多次查詢,其他的?法降低數據量),盡量采取分?查詢數據。
2、鎖或者死鎖(這也是查詢慢最常見的問題,是程序設計的缺陷)。
3、返回了不必要的行和列
用OR的字句可以分解成多個查詢,并且通過UNION鏈接多個查詢。它們的速度只與是否使?用索引有關,如果查詢需要?到聯合索引,?UNION all執行的效率更高。
4、盡量將數據的處理工作放在服務器上,減少?絡的開銷,如使?存儲過程。存儲過程是編譯、優化過,并且被組織到?個執行規劃里,且存儲在數據庫中的SQL語句(存儲過程是數據庫服務器端的?段程序),是控制流語言的集合,速度當然快。
5、將需要查詢的結果預先計算好放在表中,查詢的時候再Select。
6、沒有必要時不要用DISTINCT和ORDER BY,這些動作可以改在客戶端執行。它們增加了額外的開銷。
7、?次更新多條記錄比分多次更新每次一條快,就是說批處理好
8、數據庫內所有表結構均添加索引
9、將?大數據表做分庫、分區處理:
具體操作如下:
1)、將大數據表與主數據庫分離,單獨新建?個數據庫,然后將這些表做分區;
2)、將數據插入到消息隊列內,后臺利?windows計劃任務執行(5分鐘執?一次)C#控制臺程序將 消息隊列內的數據批量(消息隊列內有50000條記錄,?次性插?到數據表內)插?到相應的數據表內;
浙公網安備 33010602011771號