zoukankan      html  css  js  c++  java
  • 优化案例--定期归档数据

    归档历史数据

     

    很少有开发会考虑到数据归档的问题已经数据增长的问题,

    当程序运行一段时间后,就会出现各种问题,部分问题可以

    修改SQL语句或使用索引来解决,但如果SQL语句无法修改,

    糟糕的SQL语句无法使用索引,归档历史数据便成为一种

    解决手段。

     

    如某系统登录表每天增加 20W 数据,系统需访问最近一周的数据,

    系统运行一年后,积累数据 6000W 数据,系统中某一查询造成

    整表扫描,消耗大量IO和CPU资源,并导致内存压力。

     

    解决方法:

    将表中数据按天分区,定期将一周前数据归档,这样将表扫描消耗

    的资源控制在可接受的范围。

     

     

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

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

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

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

     

    归档数据带来的好处:

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

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

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

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

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

  • 相关阅读:
    springboot+mybatis实现逆向工程
    关于cookie,session和token
    fiddler手机抓包配置
    js json按key值排序
    关于CSS和CSS3的布局小知识(干货)
    移动端手机上传图片处理
    nginx|gzip_static 安装
    Vue npm run serve linux 持久运行
    Web前端开发标准规范总结
    liunx启动node服务(nodejs+express+mysql+pm2)
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3524171.html
Copyright © 2011-2022 走看看