當前位置:首頁 » 編程語言 » sqlserver提高

sqlserver提高

發布時間: 2024-11-15 15:24:40

❶ 如何提高sql Server大數據條件下的查詢速度

1.關於索引優化
建索引的選擇必須結合SQL查詢、修改、刪除語句的需要,一般的說法是在WHERE里經常出現的欄位建索引。如果在WHERE經常是幾個欄位一起出現而且是用AND連接的,那就應該建這幾個欄位一起的聯合索引,而且次序也需要考慮,一般是最常出現的放前面,重復率低的放前面。
SQL
Server提供了一種簡化並自動維護資料庫的工具。這個稱之為資料庫維護計劃向導(Database
Maintenance
Plan
Wizard
,DMPW)的工具也包括了對索引的優化。如果你運行這個向導,你會看到關於資料庫中關於索引的統計量,這些統計量作為日誌工作並定時更新,這樣就減輕了手工重建索引或者DBCC
INDEXDEFRAG所帶來的工作量。如果你不想自動定期刷新索引統計量,你還可以在DMPW中選擇重新組織數據和數據頁,這將停止舊有索引並按特定的填充因子重建索引。
2.
改善硬體(雙CPU,Raid
5,增加內存)
tempdb這個臨時資料庫,它對性能的影響較大。tempdb和其他資料庫一樣可以增大,可以縮小。當數據文件需要增長的時候,通常不能保持剩餘部分的連續性。這時文件就會產生碎片,這種碎片會造成性能下降。這種碎片屬於外來性碎片。要阻止在tempdb中產生外來性碎片,必須保證有足夠的硬碟空間。一般將tempdb的容量放到平均使用容量。而你也應該允許tempdb自動增長,比如你有個一個超大的join操作,它建立了一個超過tempdb容量的時候,該查詢將失敗。你還要設置一個合理的單位增長量。因為如果你設得太小,將會產生許多外來性碎片,反而會佔用更多資源。sqlserver調優最有效的做法之一,就是把爭奪資源的操作獨立出去。tempdb就是一個需要獨立出去的部分而tempdb和其他系統庫一樣是公用的,是存取最可能頻繁的庫,所有處理臨時表、子查詢、GROUP
BY、排序、DISTINCT、連接等等。它最適合放到一個具有快速讀寫能力的設備上。比如RAID0卷或RAID0+1卷上。
查詢語句一定要使用存儲過程;
3、查詢盡量使用TOP子句
4.將表按一定的約束分成子表,(如按分類)創建約束,在用Like
時,先用分類
and
like
,
應該可能解決問題.
而且效果立稈見影!(你要確定SQL會認識你建的分區視圖).我一個表有上百萬的記錄(700兆),用分區視圖後,查詢速度基本跟10萬行一樣.
如果還是太慢,還可以考濾分布式分區視圖!這總可以解決問題了吧!
關鍵在於你能否把大表按某種約束分解成子表.

熱點內容
android游戲安裝 發布:2025-03-16 03:50:08 瀏覽:329
翻杯子演算法 發布:2025-03-16 03:34:31 瀏覽:602
ftp後台密碼怎麼設置 發布:2025-03-16 03:33:08 瀏覽:360
阿里雲伺服器的sdk是免費的嗎 發布:2025-03-16 03:33:04 瀏覽:7
卸載linux軟體 發布:2025-03-16 03:19:07 瀏覽:808
太平天國迅雷下載ftp 發布:2025-03-16 03:13:19 瀏覽:64
伺服器硬碟溫度怎麼調節 發布:2025-03-16 03:11:47 瀏覽:74
netcore編譯前執行代碼 發布:2025-03-16 03:05:17 瀏覽:475
飢荒聯機版伺服器搭建程序 發布:2025-03-16 02:55:18 瀏覽:684
win7如何訪問共享 發布:2025-03-16 02:55:14 瀏覽:37