Erp100论坛's Archiver

xiangzhao 发表于 2008-7-9 14:26

LIKE '%%'如何优化

请教一个问题  like 前后都有% 的如何 优化呢?

xiangzhao 发表于 2008-7-9 14:26

like '%%' 不会用索引范围选择的,不太好优化,当然可以通过提高硬件性能、使用并行分区、提高数据块缓存命中率等方式来提高性能。

另外有一种不太好的转变就是用instr函数来代替like '%%'
如:
select count(*) from all_objects where object_name like '%T%'
改为
select count(*) from all_objects where instr(object_name,'T')>0
会提高大约不到10%的性能(数据块访问是一样的,只是instr使用的CPU更少一些罢了)

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2007 Comsenz Inc.