2010-09-08 73 views
2

我有一些只讀數據庫alter database [ReferenceData] set READ_ONLY,我們的應用程序正在使用它,並且想知道我可以調整哪些類型以獲得最佳性能?SQL Server中只讀數據庫和索引碎片

到目前爲止,我想出了以下目標:在索引中來100%的填充因子

  • 部隊填充
  • 指數fragementation小於10%
  • 如果空間不是問題看看DMV並添加儘可能多的INCLUDED列

這些是否有意義?有更多的事情我應該調整最大效率?

我在Windows上運行SQL Server 2008 2008

回答

1

這聽起來有種明顯的,但你不直接說,你已經在你的問題做了,所以我會提到它:

  1. 您確定所有正確的索引 都已準備好嗎?您可以針對數據庫運行 profiler/DTA以查看 是否有可能通過創建新的 索引來改進 的任何區域。
  2. 你有沒有性能調整 使用只讀數據庫的查詢? 如果您的問題寫得不好, 查詢時,世界上的所有索引都不會 。
+0

是的,關於正確編寫的代碼和索引的選擇是正確的,但是我的問題更具體地涉及數據庫是隻讀還是讀寫數據庫時可以做什麼。 – Mouffette 2010-09-08 18:23:38

0
ALTER DATABASE MyDatabase 
SET READ_ONLY 

將設置一個數據庫到不可修改的狀態。據推測,這裏有一些優化,但我不確定。

您還可以將默認事務級別設置爲READ UNCOMMITTED,以獲得每個會話的最大讀取性能。據推測,如果你將數據庫設置爲只讀模式,這已經發生了。

編輯:跑遍this article關於你應該如何準備一個數據庫爲只讀。

+0

我不知道,但我確定當它的只讀數據庫引擎知道它可以讀取而無需鎖定。我的數據庫現在只讀了多年(每月更新除外),我只是想弄清楚可以做些什麼來保持最佳狀態。 – Mouffette 2010-09-08 18:29:40

+0

感謝您的鏈接。這篇文章提到提到的性能優勢不需要鎖定,額外的索引沒有影響,第三,不知道爲什麼這是性能相關的,但可以在數據庫聯機時複製數據和日誌文件 – Mouffette 2010-09-08 18:33:11

相關問題