我們常常被問到"方差的無偏估計如何計算?和有偏估計的區別是什么?",心想"哎呀,又忘了"。本篇回歸問題本質,帶你理解這些名詞背后解決的實際問題(通過總結回顧,無意中解決了一年以來縈繞腦海的遺留問題,開森~~)。 一、基本概念 解題第一步是理解題意,通過示例首先搞清楚以下幾個概念 ...
關於SQL Server 中的基數估計,官方文檔Optimizing Your Query Plans with the SQL Server Cardinality Estimator里有大量細節介紹,但是全部是英文,估計也沒有幾個人仔細閱讀。那么SQL Server 中基數估計的預估行數到底是怎么計算的呢 有哪一些規律呢 我們下面通過一些例子來初略了解一下,下面測試案例僅供參考,如有不足或膚 ...
2017-05-02 08:44 4 1390 推薦指數:
我們常常被問到"方差的無偏估計如何計算?和有偏估計的區別是什么?",心想"哎呀,又忘了"。本篇回歸問題本質,帶你理解這些名詞背后解決的實際問題(通過總結回顧,無意中解決了一年以來縈繞腦海的遺留問題,開森~~)。 一、基本概念 解題第一步是理解題意,通過示例首先搞清楚以下幾個概念 ...
在前陣子寫的一篇博文“SQL SERVER 2014 下IF EXITS 居然引起執行計划變更的案例分享”里介紹了數據庫從SQL SERVER 2005升級到 SQL SERVER 2014后,發現一個SQL出現性能問題,當時分析后發現執行計划變了,導致SQL出現了性能問題。但是沒有徹底 ...
基數估計算法簡介 注1:本文是之前工作時在團隊內分享的一個PPT的文字版本. 注2 :我有了新的個人博客地址 下文中的sqrt表示開根號(sqrt(4)=2),m^n表示m的n次方 什么是基數(Cardinality) 基數指的是一個可重復集合中不重復元素的個數。 什么是基數計算 給定 ...
SQLSERVER為了確保返回正確的值,或者處於性能上的顧慮,有意不重用緩存在內存里的執行計划,而重新編譯執行計划的這種行為,被稱為重編譯(recompile)。那么引發存儲過程重編譯的條件有哪一些呢?下面羅列了一些導致重編譯(recompile)的條件: - 對查詢所引用的表 ...
其實這是一篇沒有技術含量的文章,精通SQL優化的請繞道。這個緣起於在優化一個SQL過程中,同事問了我一個問題,為什么SQL中存在隱式轉換,但是執行計划沒有變? 我思索了一下,覺得這個問題也有點意思,說不定有些對隱式轉換了解得不深入的同學都有此疑問,那么下面結合上下文場景做一個細節方面的解答 ...
前提 本文僅討論SQL Server查詢時, 對於非復合統計信息,也即每個字段的統計信息只包含當前列的數據分布的情況下, 在用多個字段進行組合查詢的時候,如何根據統計信息去預估行數的。 利用不同字段的統計信息做數據行數預估的算法原理,以及SQL Server ...
: 2.for循環的探討 情況1:以0開始,小於n,則執行n次. 情況2:以 ...