帮助优化下语句八十万数据量SELECT AJBHA0,AJMCA1---40个字段FROM GX_AJJBXXWHERE INSTR(BAR || ,, 202
帮助优化下语句八十万数据量
SELECT AJBH A0,
AJMC A1
---40个字段
FROM GX_AJJBXX
WHERE INSTR(BAR || ',', '202616' || ',') > 0
AND AJLB < '200000'
ORDER BY DJSJ DESC
[解决办法]
贴出执行计划。
[解决办法]
支持,贴出执行计划。
无计划,无真相!
[解决办法]
- SQL code
掌握两条条原则: 1.where 的执行顺序从下往上过滤,先过滤数据多的。 2.条件最好不要是= 而是>= 或<=
[解决办法]
1. 将 =这些条件放在前面,能过滤大部分的条件
2. 少用in ,not in 这些
3. 使用存在的时候, 语句使用select 1 的条件;如exists(select 1 from )
4. 连接的条件放在后面
5。减少子表的使用,
还有很多在你实际用的时候自己总结
对于你的问题,加快速度的话可以增加一些索引,这样速度比较快
[解决办法]
执行计划
[解决办法]
就索引来说,最基于INSTR(BAR || ',', '202616' || ',')函数索引,
基于列AJLB的索引,
当然建了索引,能否用上,还要看选择性怎么样。
