天天看點

SQL Server-聚焦強制索引查詢條件和Columnstore Index(九)前言

本節我們再來穿插講講索引知識,後續再講資料類型中的日期類型,簡短的内容,深入的了解,Always to review the basics。

前面我們也講了一點強制索引查詢的知識,本節我們再來完整的講述下

SQL Server-聚焦強制索引查詢條件和Columnstore Index(九)前言

上述就不用我再啰嗦了,使用預設主鍵建立的聚集索引來執行查詢執行計劃。

SQL Server-聚焦強制索引查詢條件和Columnstore Index(九)前言
SQL Server-聚焦強制索引查詢條件和Columnstore Index(九)前言

上述我們第三個使用内聯查詢是比較好的,同時我們可以在表連接配接中末尾使用OPTION來強制使用索引,因為涉及到表連接配接,我們會用到另外一個函數Hints。該Hints用在Join Hints、Query Hints、Table Hints。如果我們指定用Hints很明顯将覆寫查詢計劃,因為将SQL Server預設在查詢上會使用最優查詢,此時通過Hints将可能會覆寫最優查詢,是以一般不推薦使用,隻對于明确知道這樣做會比預設查詢計劃會更好的有豐富經驗的SQL Server使用者可能會是好的解決方案。但是對于OPTION我們可以使用,OPTION才SQL Server 2008+上才有,上述第三個強制使用内聯查詢提示可以通過OPTION結合Hints來完成。

SQL Server-聚焦強制索引查詢條件和Columnstore Index(九)前言

上述不推薦使用,除非你明确這樣做比預設使用最優執行查詢計劃更好。

列存儲索引出現在SQL Server 2012+上,我們本節簡單說說這個内容,對于大資料方面合理使用列存儲索引能夠提高查詢性能,但是通過查找大量資料發現在SQL Server 2012中使用列存儲索引有諸多限制并且還會出現許多問題,而在SQL Server 2014+上這樣的問題得到了很大的改善,是以不建議在SQL Server 2012中使用列存儲索引,要使用可以在 SQL Server 2014+上使用。

SQL Server-聚焦強制索引查詢條件和Columnstore Index(九)前言

這裡關于例子就不再給出,算是做一個基本了解吧。

本節我們主要講了強制使用索引條件來進行查詢,當對于使用預設建立索引進行查詢計劃時覺得不是最優解,可以嘗試使用強制索引來進行對比找出更好得解決方案。簡短的内容,深入的了解,我們下節再會。