postgres计数或总和忽略脏东西

时间:2011-03-09 15:07:21

标签: mysql sql database postgresql sum

我有一个索引,其中必须总结的信息在索引中。索引看起来像(key,sumable_attribute)

现在,如果我说:

SELECT sum(sumable_attribute) from table where key between 1 and 1000000

如果我们可以沿着b树的链接叶子运行并收集sumable_attributes,那将是完美的。

但是:MVCC告诉我们检查数据的可见性......我不在乎我的结果是否100%正确,只要它很快。 MyISAM有点快...

我如何告诉postgres忽略这一点?

1 个答案:

答案 0 :(得分:1)

PostgreSQL目前实现two distinct isolation levels:“Read Committed”和“Serializable”。您可以使用READ UNCOMMITTED请求脏读,但您将获得“Read Committed”隔离级别。

由于READ COMMITTED是默认值,因此您可能正在使用PostgreSQL提供的最快隔离级别。

但发布EXPLAIN ANALYZE query_name_or_sql_statement的输出可能会给我们一些想法。