求高人优化SQL

want_bye 2011-10-10 11:36:52
SELECT A a, B || C b, D d, E e, F f, G g, H h, I i
FROM TABLEA
WHERE (F like UPPER('BMW') or G like UPPER('BMW') or H like UPPER('BMW') or
I like UPPER('BMW'))
如题,各位大神,这条SQL怎么优化下?
...全文
33 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenChiM888 2011-10-10
  • 打赏
  • 举报
回复

SELECT A a, B || C b, D d, E e, F f, G g, H h, I i
FROM TABLEA
WHERE F ='BMW' or G ='BMW' or H ='BMW' or I ='BMW';
jimmylin040 2011-10-10
  • 打赏
  • 举报
回复
用union all,不用OR。。。。把每一个情况写一个SQL查询,然后UNION ALL起来……
xiaobn_cn 2011-10-10
  • 打赏
  • 举报
回复
把like换成等号,把upper()函数去掉,其它就没有什么可优化余地了,还是慢可以考虑给F、G、H、I等列建索引。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧