1。尽量不要使用 like '%..%'
2。对于 like '..%..' (不以 % 开头),Oracle可以应用 colunm上的index
3。对于 like '%...' 的 (不以 % 结尾),可以利用reverse + function index 的形式,变化成 like '..%'
-- 常量开头的like , 会利用index ,如: ‘aa%’ 没问题……
--开头和结尾都是 % ,如: ‘%aa%’ 对不起,性能很差,很难优化!
-- 以常量结束,如: ‘%aa’ 直接写的时候是不能应用index的
--以常量结束的,加个reverse 函数,又可以用上index了
如:select * from test_like where reverse(object_name)like reverse('%AS');
不过不推荐这种做法,毕竟使用函数来进行转换也是要耗费时间成本的!