sql - 从 SQL 数据库中卸载数据
问题描述
我有 Azure SQL 数据库,它每周在一个表(时间序列数据)中存储约 100 万行。由于数据的大小,管理数据变得很困难。我必须每天重建索引才能在不到一秒的时间内执行查询。
我正在寻找一种将大部分数据从活动表/数据库中卸载的方法。对于日常操作,我的应用程序只需要最后 200 万行。但是,我仍然需要所有数据进行历史分析,所以删除它不是一个选项。
处理它的最佳方法是什么?最理想的选择是使用一些(便宜的)Azure 服务、存储。我正在考虑编写一个脚本,该脚本会自动将数据移动到另一个数据库/表,但这确实是最后的选择。如果有的话,我宁愿使用专门为此目的而设计的服务。
解决方案
请考虑使用本文中解释的表分区。对大表进行分区有很多好处。您可以加快数据的加载和归档速度,可以对单个分区而不是整个表执行维护操作,并且可能能够提高查询性能。测试您的场景以查看分区是否有助于加快查询速度。
推荐阅读
- javascript - Highcharts Donut 百分比低于 1% 与英语和法语值不一致
- sql - 带有 case when 和 group by 的值列计数
- json - JQ - 如何在字段值以另一个字段值开头的条件下选择字段
- azure - 如果选中,读取目录数据选项有什么作用?
- javascript - js格式化字符串到漂亮的url
- javascript - 如何在每个动态宽度中使 bootstrap 4 下拉菜单正好位于父组件下方?
- c - 为什么 (5+10)/2 是 7.0 而不是 7.5?C 编程
- reactjs - 智能/哑组件模式的正确用法是什么?
- arm - 用电位器控制伺服电机
- bar-chart - 如何在条形多条形图顶部添加工具提示以查找echarts中条形之间的百分比差异?