【发布时间】:2011-05-09 12:05:27
【问题描述】:
我遇到了这个特殊的脚本,它使用了一种特殊的 equi join 形式。
SELECT *
FROM
per_assignments a, per_assigment_types b
WHERE
a.assignment_status_type_id + 0 = b.assignment_status_type_id
为什么在 equi 连接中加了零?我开始知道这与避免索引搜索有关,但仍然有人可以解释它的全貌。提前致谢
编辑:
这与表/列声明无关。据我所知,这与 SQL 调优有关。
这是我发现的:-
- 这用于较小的表。
- 不是像往常那样进行索引搜索,而是一次性搜索整个表。
但我真的不知道与普通等值连接有什么区别,此外索引如何影响性能。
如果有人可以在特定上下文中进行描述,并且如果我的发现有误,请告诉我,这将非常有帮助。感谢您为此付出的时间和精力:-)
列说明:
两个表中的赋值状态类型 ID 均声明为 NUMBER(9)
【问题讨论】:
-
请提供您的表格声明(至少针对相关字段)
-
我更新了,都声明为NUMBER(9)
标签: mysql sql plsql sql-tuning