关于查询优化,我想知道以下语句是否得到优化:
select *
from (
select *
from table1 t1
join table2 t2 using (entity_id)
order by t2.sort_order, t1.name
) as foo -- main query of object
where foo.name = ?; -- inserted
Run Code Online (Sandbox Code Playgroud)
考虑到查询是由依赖对象处理的,但只是(正确?)允许一个 WHERE 条件。我认为至少不会有很多数据被提取到您最喜欢的语言中,但是如果这是一个足够的优化并且可能数据库仍然需要一些时间来完成查询,我会重新考虑。
或者最好去掉那个查询并编写一个单独的查询方法,它也有 where 和一个LIMIT 1子句?