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

解决手段。

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

解决方法:

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

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

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

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

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

归档数据带来的好处:

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

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

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

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

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

最新文章

  1. 扩展JQuery和JS的方法
  2. 如何优雅的使用vue+vux开发app -01
  3. poj2486Apple Tree[树形背包!!!]
  4. Windows 64位操作系统和32位操作系统在注册表上的有一点不一样
  5. 错误 1 未知的服务器标记“asp:ScriptManager”。
  6. 说说localStorage
  7. mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
  8. systemd详解
  9. hdu3068
  10. url编码解码-js编码、C#编码
  11. (四)JS学习笔记 - 模式 - 观察者模式
  12. POJ 2482 Stars in Your Window(线段树)
  13. C# GetValueList 获得字符串中开始和结束字符串中间得值列表
  14. 高仿腾讯QQ即时通讯IM项目
  15. cAdvisor+Prometheus+Grafana监控docker
  16. cinder-volume报错vmdk2 is reporting problems, not sending heartbeat. Service will appear "down".
  17. GitLab添加ssh-key,操作无需每次输入账号密码
  18. linux 关闭笔记本自带键盘
  19. AURO OtoSys IM100 vs Lonsdor K518ISE: which better?
  20. 深入理解Java Callable接口

热门文章

  1. python面试题_01
  2. 引入 ServletContextListener @Autowired null 解决办法
  3. .net Core 解决Form value count limit 1024 exceeded. (文件上传过大)
  4. 【转】2019年7月份,阿里最新Java高频面试真题汇总
  5. C#读写设置修改调整UVC摄像头画面-曝光
  6. Android Drawable和Bitmap区别
  7. Easy2game使用
  8. 老大难的GC原理及调优,这下全说清楚了
  9. 转 根据CPU核心数确定线程池并发线程数
  10. windows jupyter notebook 切换默认环境