Str*_*rae 4 postgresql performance database-design
我有一个很大的疑问.
让我们以一个公司订单的数据库为例.
假设这家公司每月大约生产2000个订单,那么,每年大约24K订单,他们不想删除任何订单,即使它是5年(嘿,这是一个例子,数字并不意味着任何东西).
在具有良好的数据库查询速度的意义上,它最好只有一个表,或者每年有一个表更快?
我的想法是每年为订单创建一个新表,称为orders_2008,orders_2009等.
加速数据库查询可能是一个好主意吗?
通常使用的数据是当前年份的数据,因此行数越少越好.显然,当我同时搜索所有订单表时,这会产生问题,因为我是否应该运行一些复杂的UNION ..但这种情况在正常活动中非常罕见.
我认为最好有一个应用程序,95%的查询是快速的,剩下的有点慢,而不是一个总是很慢的应用程序.
我的实际数据库是130个表,我的应用程序的新版本应该有大约200-220个表...其中约40%将每年复制.
有什么建议吗?
编辑:RDBMS可能是Postgresql,也许(希望不是)Mysql
S.L*_*ott 12
较小的表更快.期.
如果您有很少使用的历史记录,那么将历史记录放入其他表格会更快.
这就是数据仓库的意义 - 将历史数据中的操作数据分开.
您可以运行定期提取从操作和加载到历史.保留所有数据,它只是隔离.
在担心查询速度之前,请考虑成本.
如果将代码拆分为单独的代码,则必须具有处理它的代码.你写的每一段代码都有可能出错.你要求你的代码是错误的,而代价是一些无法测量和想象的性能获胜.
还要考虑机器时间与程序员时间的成本.
| 归档时间: |
|
| 查看次数: |
2706 次 |
| 最近记录: |