我開始使用SQL Server作爲醫療辦公室的新項目。他們當前的數據庫(SQL Server 2008)擁有超過500,000行,跨越15個以上的表。目前他們抱怨他們的數據輸入應用程序生成報告和插入新數據的速度非常慢。SQL Server數據庫優化策略
對於我的新系統,我正在考慮開發一種雙層數據庫方法,其中主要使用的SQL Server 2012只包含3個月的行數,第二個SQL Server 2012將保留系統的所有數據。這樣,當用戶插入新數據時,它將被輸入到更小的系統中,當他們查詢最近的數據時,查詢應該執行得更快。這個系統也會有報告,但我認爲報告必須從更大的數據集中生成。
我的問題如下
- 將這樣一個解決方案提高數據庫
- 是否有可擴展性的擔憂與此解決方案的整體表現?
- 每晚在兩臺服務器之間傳輸數據的最佳方式是什麼?
如果我的解決方案沒有意義,請隨時提供任何其他解決方案。
插入記錄將使數據庫OLTP和生成報告將使數據庫OLAP。這兩種要求的索引策略是非常不同的。 – Raj
500.000行? 15桌?好吧,任何少於一百萬行都很小 - 而15個表是一個笑話。嘗試10億行,每天增加4000萬,200張表。你知道索引是什麼嗎?這可能會減慢它的速度 - 沒有指數。 – TomTom
如果問題在於報告生成緩慢,那麼您應該專注於找出原因。使用Sql Server Profiler和數據庫引擎Tunine Adviser是一個很好的方法。有時候一個小指數可以產生巨大的差異。查看我的文章「數據庫優化初學者指南」http://www.foliotek.com/devblog/sql-server-database-optimization-a-beginners-guide/ – Narnian