SQL Server-存档/取消存档或分区视图

时间:2018-08-21 10:49:44

标签: sql-server query-optimization database-performance partitioning

环境

  • 2012(11.0.6607.3)标准版此数据库集中托管 并由Windows应用程序访问。

场景

  • 当前,我正在从事数据库优化任务。该数据库是由不同的开发人员长期开发的。
  • 分析数据库之后,以下是突出的问题。
  • 海量数据:有15个大表,每个表中的数据都超过1000万
  • 未使用和丢失的索引:运行dmvs之后–我在表上发现了未使用和丢失的索引。
  • 以下是策略-我认为可以优化相同的策略。
    • 优化表现最差的5个查询。
    • 实施存档和 取消存档策略或实施分区视图

策略

  • 存档/取消存档

需要减少大量数据。同样,我正在考虑在数据库中创建一个归档模式。在存档模式下创建确切的表。创建一个SQL作业,它将记录从dbo移到存档模式,反之亦然。同样,我可以拥有一个队列表,SQL Job将从该队列表中提取记录并迁移到存档表中。

原因–客户端可能需要在任何时间点访问已归档的数据。简而言之,我的Cold数据在任何时间点都可能很热。

同样–我正在考虑创建一个拉伸数据库,但是客户端尚未准备好将数据移至Azure。

分区视图

SQL Server企业版支持表分区。客户正在使用标准版。同样,我正在考虑对不同表下的数据进行垃圾邮件处理并创建一个分区视图。

使用这种方法的问题是–与分区键一起,有一些列参与搜索记录。因此,该表平均具有6到7个索引。数据库中的应用程序执行着大量的DML操作。

请让我知道您的想法。

0 个答案:

没有答案