SQL Server 2014里的性能提升


在這篇文章里我想小結下SQL Server 2014引入各種驚艷性能提升!!

緩存池擴展(Buffer Pool Extensions)

緩存池擴展的想法非常簡單:把頁文件存儲在非常快的存儲上,例如SSD硬盤,用來擴展緩存池。緩存池擴展來得非常方便,如果你不能給你的數據庫服務器物理上增加更多的內存,可以考慮使用緩存池擴展。

資源調控器(Resource Governor)

資源調控器首次是在SQL Server 2008里引入的,但那個時候還不是個成熟的技術,因為你不能在存儲級別調控I/O操作,對於指定工作負荷組,你不能限制緩存池大小。在SQL Server 2014里這些都改變了,因為現在你可以壓制I/O操作。限制緩沖池使用率還是不行,但誰會知道在SQL Server 2016里會怎樣呢:)。

鎖優先級(Lock Priorities)

或許你已經知道,在企業版本里,SQL Server提供你在線操作,或者我可以稱它們為“近乎在線操作”。它們近乎是在線的,因為內部SQL Server還是要獲取一些鎖,這會導致阻塞情況。因此SQL Server 2014引入了鎖優先級,在那里如果有這樣的情況發生,你可以控制SQL Server如何應對。

聚集列存儲索引(Clustered Column Store Indexes)

在SQL Server 2014里引入的最熱門的提升是聚集列存儲索引,在SQL Server里,它是驚艷的全新方式來處理列存儲數據。另外聚集列存儲索引也會直接改變——不用像分區切換這樣的技巧。

內存優化表(In-Memory OLTP)

使用內存優化表微軟聲稱你的工作負荷性能可以提升100倍。酷炫叼咋天了!現在一切都直接存儲在內存里,不會涉及你的物理存儲(包括事務日志,如果你想要的話)。另外內存優化表基於所謂的無鎖數據結構,意味着鎖,阻塞,閂鎖,旋轉鎖統統消失。當然,使用這種有前途的方法是有副作用的,還是有限制的……

延遲事務(Delayed Transactions)

你工作負荷的生產力不管有多好,最后的障礙和瓶頸每次都是事務日志。因為SQL Server使用了預先寫入日志機制(Write-Ahead Logging mechanism),在事務提交前,事務必須總是物理寫入到事務日志。但你的事務日志在慢的存儲上,你的性能和生產力就會受傷害。因此SQL Server實現所謂的延遲事務……

基數計算(Cardinality Estimation)

在關系數據庫里,基數計算是最重要的東西,因為這些基數計算會流入查詢優化器,它的工作是生成足夠好的執行計划。在SQL Server 2014里微軟完全重寫了基數計算來克服一些限制,基於歷來這個是非常重要的組件。

參考文章:

https://www.sqlpassion.at/archive/2014/03/18/performance-improvements-in-sql-server-2014/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM