首页
学习
活动
专区
圈层
工具
发布

SQL优化
EN

Stack Overflow用户
提问于 2015-01-22 10:09:44
回答 1查看 82关注 0票数 0

服务器“每个标准”(1)在幕后使用写时与读时优化(2)吗?例如,由于日志记录频繁运行查询?

运算次数的计算是否需要一位经验丰富的计算机科学家的仔细研究?

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-22 13:25:12

据我所知,没有任何数据库能完全自动完成这一任务。大多数查询都比select sum(T)复杂得多,所以在一般情况下,如果不是不可能的话,弄清楚如何增量更新以前的结果是不切实际的(将select hash(sum(T))作为一个微不足道的例子)。甚至在可能的情况下,这也不一定有帮助;根据应用程序的不同,将插入性能交换为select性能可能不符合您的最佳利益。

也就是说,许多RDBMS正是以物化意见的形式提供这种行为的(例如,在带有快速刷新选项的甲骨文中,或者在SQL Server中有索引视图)。只要视图的定义遵循严格的约束条件--而且您的select sum(T)当然有资格--他们就会自动更新这个结果,并尽可能地在其他查询中使用它。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28086055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档