SQL连接条件命令性能

时间:2015-12-25 07:52:58

标签: sql performance join firebird

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

效果很好。

这是正常的吗?

3 个答案:

答案 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)

我不熟悉火鸟,但通常对于内部连接无关紧要。 在新版本的Oracle或SQLServer或MySQL或Postgresql中,它不会影响性能。我们已经解释了计划,检查数据库选择正确的方式加入你可以试试。

答案 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