假设我有一个表,其中包含一些键、帐户和点击数。
哪个更快?我想我的问题是postgres(或任何sql )是否有智能优化器来查看查询中相同的函数
SELECT key, accounts, hits,1.0*hits/accounts as ratio FROM
(
SELECT key, COUNT(DISTINCT accounts) as accounts, SUM(hits) as hits
FROM table
GROUP BY key
) a;或
SELECT key, COUNT(DISTINCT accounts) as accounts, SUM(hits) as hits, 1.0*SUM(hits)/COUNT(DISTINCT accounts) as ratio
FROM table
GROUP BY key;我很乐意听到你有什么要说的,或者你能提供的关于理解这类事情的资源。谢谢!
发布于 2011-05-12 23:48:49
是的,是这样的。这就是函数波动性的用途。
http://www.postgresql.org/docs/current/static/sql-createfunction.html
参见VOLATILE vs稳定vs IMMUTABLE。
https://stackoverflow.com/questions/5980705
复制相似问题