我开始使用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