我有以下查询:
SELECT (A+B)*C whole, (A+B)*C/2 half FROM MY_TABLE
我有没有办法保存(A + B)* C的结果,所以sql db不必计算两次?
答案 0 :(得分:2)
好吧,您可以将结果存储在变量中。
SELECT @whole := (A+B)*C whole, @whole / 2 half
FROM MY_TABLE
CROSS JOIN (SELECT @whole := null) var_init_subquery
但我怀疑,这会加速(显着)。就像我在你的另一个问题中所说的那样,这种“优化”应该是你最不关心的问题(如果有的话)。