JOIN条件顺序是否会影响pefmancemance?我有两张桌子A和B.我正试图加入他们:
SELECT * FROM A
INNER JOIN B on B.ID_A = A.ID
在这种情况下,firebird使用NATURAL
计划而不是使用外键。
SELECT * FROM A
INNER JOIN B on A.ID = B.ID_A
效果很好。
这是正常的吗?
答案 0 :(得分:1)
我猜你使用Firebird版本低于2.5.4(可能是2.5.3)。它在2.5.4中修复了错误http://tracker.firebirdsql.org/browse/CORE-4530。请升级到Firebird 2.5.5并检查您的问题是否消失。
答案 1 :(得分:0)
答案 2 :(得分:0)
此查询没问题,但请确保*
为索引(对于快速性能)
在sql查询中不要使用LIMIT
,只使用必需的列...
你的问题是关于表现,所以我在想,你有非常大的数据..
所以必须在查询中使用SELECT A.ID, A.column1, B.column2, FROM A
INNER JOIN B on B.ID_A = A.ID LIMIT 0,100
...
实施例
questions