Sql-Server

如果我的表已經完全記憶體在記憶體中,我會從 SQL Server 2014 記憶體中的表中受益嗎?

  • August 24, 2017

我們最常用的數據庫相對較小(5GB),因此,我們的 16GB 記憶體專用 SQL Server 2012 數據庫伺服器選擇將所有使用的表記憶體在記憶體中(緩衝區記憶體命中率始終為 100%)。我們團隊中的一些人希望遷移到 SQL Server 2014 以提高記憶體中表的性能,但是我不相信這樣做會提高性能,因為我們的表已經在記憶體中。

SQL Server 2014 中的新記憶體表是否還有更多內容,或者在我的場景中確實沒有什麼收穫?

我們團隊中的一些人希望遷移到 SQL Server 2014 以提高記憶體中表的性能……

這完全取決於:

  1. 如果需要更多性能
  2. 目前的瓶頸是什麼

但是我不相信這樣做會提高性能,因為我們的表已經在記憶體中。

您應該懷疑它可能會或可能不會提高性能,但原因不是因為數據已經在記憶體中。這主要是由於使用本地編譯時無鎖和閂鎖以及更少的程式碼執行。

因此,如果您的瓶頸不在鎖或閂鎖周圍……您獲得的實際收益將微乎其微。如果實際瓶頸是客戶端,這可能會加劇。

一篇關於 IMOLTP 案例的精彩文章,當我們在這裡時,您可能想看看 2016 年以及 IMOLTP 用於高級實時分析的用途。

SQL Server 2014 中的新記憶體表是否還有更多內容,或者在我的場景中確實沒有什麼收穫?

In-Memory 對象(在本例中為表)不僅僅是將數據固定到記憶體中。它們具有完全不同的記憶體結構,並且沒有鎖和閂鎖

在數據的儲存方式、數據如何影響數據庫啟動等方面存在其他差異。

引用自:https://dba.stackexchange.com/questions/184265