iT邦幫忙

4

[MSDN] 如何寫出高效能 T-SQL

MSDN中文 文章,共有三篇
如何寫出高效能 TSQL - 深入淺出 SQL Server Relational Engine (含 SQL 2014 in-memory Engine)
http://blogs.technet.com/b/technet\_taiwan/archive/2015/01/16/tsql-series-0116.aspx

本文將分成四大單元,分別帶您了解: 簡介 SQL Server 關聯式引擎 SQL 2014 in-memory OLTP 引擎 進階學習 簡介 良好的 TSQL 和正確索引是大幅提高查詢效能最快的捷徑,同時 TSQL 也是使用 SQL Server 的核心,任何應用程式想要和 SQL Server 溝通,都無法避免撰寫 TSQL,所以各種效能調校方法中,我們認為查詢調校是最省成本、最快能感受到效果的方法 (如下圖),這一系列文章將為大家介紹如何寫出高效能...

如何寫出高效能 TSQL - 關於索引不可不知道的事
http://blogs.technet.com/b/technet\_taiwan/archive/2015/01/23/tsql-series-0123.aspx
本文將分成四大單元,分別帶您了解: 索引簡介 索引基本知識 索引類型介紹 索引設計注意事項 進階推薦 簡介 TSQL 是查詢 SQL Server 的核心,而索引則是提高查詢效能的主角,如要寫出高效能 TSQL 則無可避免需搭配正確索引,因為 SQL Server 需透過正確索引才可以快速有效地找到與索引鍵值相關資料,有了正確索引 SQL Server 就不需要掃描資料頁 (data page) 上每一筆資料,而在眾多查詢效能調校技術中...

如何寫出高效能 TSQL - 探索統計值
http://blogs.technet.com/b/technet\_taiwan/archive/2015/01/27/tsql-series-0127.aspx
本文將分成四大單元,分別帶您了解: 前言 統計值概念 統計值對效能影響及建議 進階推薦 前言 統計值和撰寫 TSQL 兩者關係非淺,由於統計值直接影響執行計畫品質,所以我們寫的查詢需要能有效使用統計值,但由於統計值艱深複雜,所以我們將用案例問題方式來介紹統計值,一來看得比較有感覺,二來內容也比較淺顯易懂,希望透過本文能讓您了解統計值在資料庫中的重要地位。 統計值概念 統計值是什麼? 統計值是描述索引鍵值分布訊息,SQL Server...


2 則留言

1
player
iT邦大師 1 級 ‧ 2015-01-30 18:59:29

mis2000lab提到:
如何寫出高效能 TSQL

1.針對會重複使用的資料, 將select的結果扔到全域暫存資料表,
2.分析數據, 使用預存程序, 避免資料取出後, 別到頁面的程式裡做運算分析
3.避免使用控制項的資料分頁, 資料分頁請在預存程序裡先做好
4.減少輸出非必要的欄位, select 時, 最好別用全部輸出的 *
5.關於資料清理, 請在SQL裡做, 別到頁面的程式裡做資料清理

Ethan Jhuang iT邦研究生 3 級‧ 2015-01-31 11:06:40 檢舉

可以請問Player大大...

在查詢中.使用like 或是 between 或是 >=與<=
這三種方式.效能是何者最好呢?

1
pantc328
iT邦研究生 1 級 ‧ 2015-01-31 12:48:40

如何寫出高效能 T-SQL

這~
我好像沒寫過高效能的..
因為沒有很複雜的東西可以測
會到大數據,會到很複雜的SQL..
那先前的規劃有問題

前面系統分析,整個維護,排成,正規畫...都會影響最後的效能及SQL的複雜度
資料該拋轉時就拋轉,是插入時拋轉還是排成拋轉等...
在做統計報表用全域資料表??
報表跟ONLine 線上交易系統不同,前面就要拋轉至其他的資料庫,然後簡單的Select 就可以取出

另外程序邏輯跟關聯邏輯要分開
我開始學SQL,學報表時,老闆每天也考試,考完試才能回家,每天搞到凌晨2點回家
那時SQL強到可以用上千行組成,直的變橫的,橫的便斜的,變成樹狀等

寫了五六年後,每個SQL不用幾行就出來
有時不用寫很複雜,有的可以在App層做
有時你Request 資料到App Layer 作程序運算然後在到DB 要下個資料,比你一次用SQL 全做有效能
另外LINQ也是不錯的選擇

LINQ剛出時,我有做過實驗,用LINQ 和直下SQL,很多時候LINQ的效能好很多
我也把LINQ產生的SQL 取出,發現很多看不懂的SQL 語法和指令

//在查詢中.使用like 或是 between 或是 >=與<=
//這三種方式.效能是何者最好呢?
這你不用問吧~
自己做實驗就好了
用一些工具不是就可測效能了
自己用過的東西你才不會忘記
用問的,用背的,不須成本的...你很快就忘了

我要留言

立即登入留言