zoukankan      html  css  js  c++  java
  • SQL Server 定期归档大表历史数据

    很少有开发会考虑到数据归档的问题已经数据增长的问题,当程序运行一段时间后,就会出现各种问题,部分问题可以修改SQL语句或使用索引来解决,但如果SQL语句无法修改,糟糕的SQL语句无法使用索引,归档历史数据便成为一种

    解决手段。

    如某系统登录表每天增加 20W 数据,系统需访问最近一周的数据,系统运行一年后,积累数据 6000W 数据,系统中某一查询造成整表扫描,消耗大量IO和CPU资源,并导致内存压力。

    解决方法:

    将表中数据按天分区,定期将一周前数据归档,这样将表扫描消耗的资源控制在可接受的范围。

    归档历史数据需要考虑以下问题

    1> 那些属于历史数据(数据的访问频率和访问几率)

    2> 历史数据如何访问(访问的程序和访问的方式)

    3> 历史数据如何存放(同表/同库/异库/其他实例)

    归档数据带来的好处:

    1> 提高查询性能,避免扫描历史数据

    2> 合理利用磁盘,可将历史数据放置到速度教慢的磁盘

    3> 将历史数据归档到其他库减少备份时间和备份占用空间

    4> 将历史数据归档到只读文件组,减少锁开销

    5> 降低DBCC CHECKDB和INDX维护等时间

  • 相关阅读:
    加壳技术
    1002 ( A + B Problem II )
    1000 ( A + B Problem )
    1001 ( Sum Problem )
    背单词Delphi版
    覆盖Form.WndProc来响应消息
    覆盖Dispatch响应消息
    美丽人生论坛看贴工具delphi版
    TWebBrowser组件在DELPHI中POST数据和取得网页源文件
    读淘宝商品描述页源码delphi版
  • 原文地址:https://www.cnblogs.com/VicLiu/p/12001118.html
Copyright © 2011-2022 走看看