oracle 简单过滤条件sql,但是过滤条件非常多,如何优化?

zyann95 2018-07-09 11:19:48
现有一个功能,在页面上选择筛选条件,过滤结果集。 在oracle里就是一句简单的sql查询过滤一张表,但是原表中的大部分列都可能被选中作为过滤条件。大概有20-30个列,请教大神们,如何优化才能快速得到查询结果?

sql:select xxx
from A
where A.a between and
and A.b between and
and A.c in ('','')
........

类似这样的sql
...全文
571 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不好弄啊
zyann95 2018-07-09
  • 打赏
  • 举报
回复
等待大神出没。如果加索引好像没意义,全表3/4的列都要加。
minsic78 2018-07-09
  • 打赏
  • 举报
回复
全部位图索引可以对付一部分
jinsenhome 2018-07-09
  • 打赏
  • 举报
回复

如果你的筛选条件 有【必选】条件字段的话,就在那一列或多列上创建索引或组合索引。其他的条件字段就无所谓了。
这个表如何数据量很大的话,必须条件也都可能在那些列上变动的话, 真心不太好弄;应该修改业务逻辑!

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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