好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 一次SQL調優數據庫性能問題后的過程(300W)

一次SQL調優數據庫性能問題后的過程(300W)

熱門標簽:申請400電話在哪辦理流程 一個導航軟件能用幾個地圖標注點 電銷外呼有錄音系統有哪些 貴州房產智能外呼系統供應商 外呼運營商線路收費 小e電話機器人 臨沂智能電銷機器人加盟哪家好 百度地圖標注改顏色 鎮江網路外呼系統供應商
將絕大部分的SQL查詢改為存儲過程,這樣的操作毫無疑問可以提高部分性能。
凡是使用“select * from xxx”的操作一律具體到所需字段。
使用join連接2個以上大量數據的表,且基礎數據表變化不大的查詢一律使用視圖,并為此視圖建立索引。理由來自SQL Server聯機幫助手冊: “對于標準視圖而言,為每個引用視圖的查詢動態生成結果集的開銷很大,特別是對于那些涉及對大量行進行復雜處理(如聚合大量數據或聯接許多行)的視圖。如果在查詢中頻繁地引用這類視圖,可通過對視圖創建唯一聚集索引來提高性能。對視圖創建唯一聚集索引后,結果集將存儲在數據庫中,就像帶有聚集索引的表一樣。
對視圖創建索引的另一個好處是:優化器可以在未直接在 FROM 子句中指定某一視圖的查詢中使用該視圖的索引。這樣一來,可從索引視圖檢索數據而無需重新編碼,由此帶來的高效率也使現有查詢獲益。”
凡是使用 "select count(*) from xxx" 或是"select count(id) from xxx”(此處id為主鍵)的查詢,一律改為”select count(1) from xxx”,理論上采用*來做聚合值,SQL Server會自動尋覓最合適的字段以進行聚合,但這樣仍然會占用系統開銷,即使主鍵也沒有1來得快。
對于多條件的組合查詢,我們一般會寫成”where ((@condition is null) or (condition=@condition))”形式的存儲過程條件來進行查詢,但這樣的操作會因為”is null ”導致性能問題,反復實地檢測后采用了”where 1 = 1 ”,然后根據條件“IF @condition IS NOT NULL SET @sqlText=@sqlText+' AND Condition=''' + @Condition +'''',最后 “exec sp_executesql @sqlText” 的方式,這樣確實可帶來明顯的性能提升,分析應是”is null ”或”is not null”導致了索引失效,進行了全表掃描。
對使用row_number()函數的表建立合適的索引,必須要有最合適的索引才能避免重建索引時的全表row_number()運算帶來的性能問題,而且索引的方向也很重要,比如時間類的索引用降序往往比升序性能高。
這個不是性能問題,但也很重要,在存儲過程中應使用scope_identity()函數來獲得最新的標量,而不是@@Identity這個全局變量,因為@@Identity會受到觸發器的影響而失去正確值。
您可能感興趣的文章:
  • mysql 性能的檢查和調優方法
  • Sql server2005 優化查詢速度50個方法小結
  • SqlServer 執行計劃及Sql查詢優化初探
  • MySQL慢查詢查找和調優測試
  • sqlserver性能調優經驗總結
  • Mysql優化調優中兩個重要參數table_cache和key_buffer
  • 10個MySQL性能調優的方法
  • 如何調優SQL Server查詢

標簽:保定 澳門 三明 合肥 嘉興 日照 延邊 晉城

巨人網絡通訊聲明:本文標題《一次SQL調優數據庫性能問題后的過程(300W)》,本文關鍵詞  一次,SQL,調優,數據庫,性能,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一次SQL調優數據庫性能問題后的過程(300W)》相關的同類信息!
  • 本頁收集關于一次SQL調優數據庫性能問題后的過程(300W)的相關信息資訊供網民參考!
  • 推薦文章