在数据库中管理大量不断增长的表的好方法是什么?

时间:2015-05-07 15:16:31

标签: sql database-design

我正在建立一个用于保存病历的网络应用程序。此应用程序的要求是将所有更改(查看,创建,更新,删除)记录到患者数据以及系统中的任何其他有用信息(登录,cron运行,数据导出等)。

我正在将数据存储到当前工作正常的数据库表中。但是,这个表很可能会非常快速地变得难以控制并且数据库膨胀。我不允许删除日志条目。

我目前的计划是选择任意大小(例如100万个条目,大但仍然可管理)。当表格达到100万个条目时,我将100,000个最旧的条目移动到一个文件中并将其存储到我们的文件服务器上。

是否有人对此问题有任何经验,对如何处理它有其他/更好的想法?

其他信息: 我主要关注的是从这些数据中删除任何东西。但是,几个月后不一定需要访问数据。由于这些数据在几年内可以在逻辑上达到10亿条目(并且我有300个这个数据库的副本,所有这些都包含此表),这是管理大小和性能的好方法。这个表需要在寻呼机上,当它突破1百万而不是10亿时显然会成为一个问题。

1 个答案:

答案 0 :(得分:1)

这样的案例是为分区量身定制的。使用分区策略,可跨多个表跨越数据。这有助于平衡I / O,加快特定于分区的查询的访问时间等。这本身就是一门学科,分区键的选择至关重要。在许多情况下,例如像这样的日志数据,人们经常对日期时间值进行分区。

Partitioned Tables and Indexes (SQL Server)