服务器“按标准”(1)是否在幕后使用写入时间与读取时间优化(2)?例如,由于记录频繁运行查询?
操作次数的计算是否受到经验丰富的计算机科学家的审查?
答案 0 :(得分:0)
我所知道的数据库完全不会自动完成。大多数查询都比select sum(T)
复杂得多,因此在一般情况下,弄清楚如何逐步更新以前的结果是不切实际的,如果不是不可能的话(将select hash(sum(T))
视为一个简单的例子)。即使有可能,它也不一定有用;根据您的应用,选择性能的交易插入性能可能不符合您的最佳利益。
也就是说,许多RDBMS以materialised views的形式提供了这种行为(例如,在Oracle中使用快速刷新选项,或在SQL Server中使用索引视图)。只要视图的定义符合严格的约束 - 并且您的select sum(T)
肯定有资格 - 他们将自动更新此结果,并尽可能在其他查询中使用它。
在大多数其他RDBMS(例如Postgres)中可以实现相同的结果,尽管在用户的部分需要额外的努力。通过在T
上创建触发器,您可以自动更新Tsum
,并直接查询。