首先,UNION不一定会耗尽数据库;按照书面说明,就性能而言,这可能根本没有任何区别,具体取决于查询优化器决定如何处理它。
其次,由于您的where子句包含“ AND”,因此所有结果在描述和名称上都将匹配,因此我认为这不是您想要的。
第三,假设您要在查询中使用“ OR”,则可以尝试如下操作:
select
*
from
images i
where
i.name like '%TEST%'
or i.description like '%TEST%'
order by
case
when i.name like '%TEST%' then 0
else 1
end asc;