我有 Azure SQL 数据库,每周在单个表(时间序列数据)中存储约 100 万行。由于数据的大小,管理数据变得很困难。我必须每天重建索引才能在不到一秒的时间内执行查询。
我正在寻找一种方法将大部分数据从事件表/数据库中卸载。对于日常操作,我的应用程序仅需要最后 200 万行。但是,我仍然需要所有数据进行历史分析,因此不能删除它。
最好的处理方法是什么?最理想的选择是使用一些(廉价的)Azure 服务、存储。我正在考虑编写一个脚本来自动将数据移动到另一个数据库/表,但这实际上是最后一个选择。我宁愿使用专门为此目的而制作的服务(如果存在的话)。
最佳答案
请考虑使用表分区,如 this 中所述。文章。对大表进行分区有很多好处。您可以加快数据的加载和归档速度,可以对单个分区而不是整个表执行维护操作,并且可以提高查询性能。对您的场景进行测试,看看分区是否有助于加快查询速度。
关于sql - 从 SQL 数据库卸载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50552193/