我有以下两个查询:
SELECT cl.`cl_boolean`, l.`l_name`
FROM `card_legality` cl
LEFT JOIN `legality` l ON l.`legality_id` = cl.`legality_id`
WHERE cl.`card_id` = 23155
SELECT cl.`cl_boolean`, l.`l_name`
FROM `card_legality` cl
LEFT JOIN `legality` l ON l.`legality_id` = cl.`legality_id`
WHERE cl.`card_id` = 23155 or 1 = 2
(这不是真实情况,只是显示问题)
我想知道为什么第二个这么慢(在真实情况下几乎慢了 100 倍)。
好的,下面是我的查询(oracle):
select *
from LA_TESTCASE this_
left outer join LA_RULE rule1_ on this_.ROOTCAUSE_RULE_ID = rule1_.ID
left outer join LA_TEST test2_ on this_.TEST_ID = test2_.ID
left outer join LA_SUITE suite3_ on test2_.SUITE_ID = suite3_.ID
left outer join LA_RUN run4_ on suite3_.RUN_ID = run4_.ID
where (run4_.NAME = 'RRP_XO-245'/* or 1 = 2*/)
order by this_.ID desc;
它与示例案例几乎相同。