sql - 从 SQL 数据库卸载数据

标签 sql sql-server azure azure-sql-database

我有 Azure SQL 数据库,每周在单个表(时间序列数据)中存储约 100 万行。由于数据的大小,管理数据变得很困难。我必须每天重建索引才能在不到一秒的时间内执行查询。

我正在寻找一种方法将大部分数据从事件表/数据库中卸载。对于日常操作,我的应用程序仅需要最后 200 万行。但是,我仍然需要所有数据进行历史分析,因此不能删除它。

最好的处理方法是什么?最理想的选择是使用一些(廉价的)Azure 服务、存储。我正在考虑编写一个脚本来自动将数据移动到另一个数据库/表,但这实际上是最后一个选择。我宁愿使用专门为此目的而制作的服务(如果存在的话)。

最佳答案

请考虑使用表分区,如 this 中所述。文章。对大表进行分区有很多好处。您可以加快数据的加载和归档速度,可以对单个分区而不是整个表执行维护操作,并且可以提高查询性能。对您的场景进行测试,看看分区是否有助于加快查询速度。

关于sql - 从 SQL 数据库卸载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50552193/

相关文章:

sql - 我试图在 ADO Excel 中使用的这个 UPDATE 语句有什么问题?

sql - 想要从显示内容中排除数字

Azure Web功能: Create binding from http request to inputBlob path

azure - 如何删除文本文件中引号内而非行尾的\r\n 换行符

SQL - 我是否应该使用联结表?

mysql - 如何统计MySQL中的项目数?

mysql - 如何使用同一个表的更新和选择? mysql

c# - 通过 ASP.NET 将 mpp 文件导入 SQL Server?

c# - 在 C# 中的 SQL 查询中将字符串数组作为参数传递

使用 ADAL 库注销 Azure Active Directory