SQL优化

时间:2015-01-22 10:09:45

标签: sql sql-server postgresql sqlite

服务器“按标准”(1)是否在幕后使用写入时间与读取时间优化(2)?例如,由于记录频繁运行查询?

操作次数的计算是否受到经验丰富的计算机科学家的审查?

comparison of number of operations in read-time versus write-time

  1. 我知道“标准”是一个广泛的问题。
  2. 我想知道它是否有更好的名称。

1 个答案:

答案 0 :(得分:0)

我所知道的数据库完全不会自动完成。大多数查询都比select sum(T)复杂得多,因此在一般情况下,弄清楚如何逐步更新以前的结果是不切实际的,如果不是不可能的话(将select hash(sum(T))视为一个简单的例子)。即使有可能,它也不一定有用;根据您的应用,选择性能的交易插入性能可能不符合您的最佳利益。

也就是说,许多RDBMS以materialised views的形式提供了这种行为(例如,在Oracle中使用快速刷新选项,或在SQL Server中使用索引视图)。只要视图的定义符合严格的约束 - 并且您的select sum(T)肯定有资格 - 他们将自动更新此结果,并尽可能在其他查询中使用它。

在大多数其他RDBMS(例如Postgres)中可以实现相同的结果,尽管在用户的部分需要额外的努力。通过在T上创建触发器,您可以自动更新Tsum,并直接查询。