0

我有 SQL Server 2008 标准版。

我们的一些表包含大约 200 万行数据。我们正在使用 M$ Access 前端(我知道这很糟糕,但目前太大而无法重新编写)。

我想提高性能和速度,因为我们的 Access 性能开始下降。

我研究了分区表,这看起来很完美,但在标准版中是不可能的,而且升级是英镑,英镑是不可能的。

我可以将数据库拆分为单独的数据库(每年一个)并使用分区视图来访问数据,但我不确定这会给我带来多少性能提升。

我们已经在每晚重建索引,所以没关系。

有什么想法或建议吗?

分区视图是看起来可以提供帮助的主要内容,但我不确定真正的收益。

谢谢

4

2 回答 2

1

首先,如果可以选择,您可以归档不再需要的数据。

例如,我每天都会从某些表中归档 3 年以上的数据,因为生产系统不需要引用比这更早的数据。这使表大小可管理以进行完整索引重建等。

200 万行听起来并不多,除非每行都有很多数据(我在上面谈论的是超过 1 亿行的表)。

其次,您可以评估您正在使用的查询,看看是否有任何方法可以优化它们。

第三,重新评估您拥有和没有哪些索引。您可以使用 SQL Server Profiler 和 Analyzer 来帮助您构建推荐索引列表以创建(或删除!)

于 2013-09-13T10:55:29.663 回答
1

您是否尝试过使用索引?您是否分析过数据库上的工作负载并搜索成本高昂的选择?通常,如果您有选择并在要包含执行计划的数据库上执行它们并查找丢失的索引和查找。您可以在数据库引擎优化顾问http://technet.microsoft.com/en-us/library/ms173494(v=sql.105).aspx的帮助下重新索引数据库以进行索引维护(每晚重建所有索引是绝对不是要走的路)你可以使用这个解决方案http://ola.hallengren.com/。在最后一步,您可以考虑更改硬件以获得更好的性能。为了对您的数据库有所了解,我使用具有 5000 万行和超过 1TB 的数据库大小的超快表。

于 2013-09-13T10:58:01.443 回答