我得到了A和B表:
a b mount
a0 b0 0.0001
a0 b1 0.0002
c d weight
c0 d0 0.99998
c0 d1 0.99996
每张表都有10,000 - 100000条记录。
我希望获得mount+weight >= 0.9998
和mount+weight <= 0.9999
的所有组合,例如:
a b c d sum
a0 b0 c0 d0 0.9999
a0 b1 c0 d1 0.9998
但是如果我尝试这些方式需要花费很多时间:
SELECT a b c d mount+weight
FROM A,B
WHERE mount+weight >= 0.9998 and mount+weight <= 0.9999
表有挂载索引,B表有权重索引
创建A+B
表,但它比方法1花费更多时间。
有什么方法可以改善吗?
答案 0 :(得分:0)
试
SELECT a, b, c, d, mount+weight as mw
FROM A,B
WHERE mount+weight between 0.9998 and 0.9999
这可能会产生略微不同的执行计划
编辑:我刚才意识到这是针对德比的。甚至不确定BETWEEN是否在Derby中可用