(1)select * from tablename where name like '%a%';
(2)select * from tablename where name like '%a';
请问哪句的速度快?
如果在(2)中添加几个条件例如:select * from tablename where name like '%a' and name<>'b' and name<>'c';
这样的话又哪句的速度快了?
(2)select * from tablename where name like '%a';
请问哪句的速度快?
如果在(2)中添加几个条件例如:select * from tablename where name like '%a' and name<>'b' and name<>'c';
这样的话又哪句的速度快了?
select * from tablename where name like '%a' and name <>'b' and name <>'c';
这个要快
like '%a%';
like '%a';
都用不上快不快还是要看cost
则2比1快.
2慢
我的理解!!
你可以写个程序或在pl/sql里测试一下!
那么条件后面的比较速度可以说是一样的
但结果集不一样,
比如:没有加条件时符合条件的结果集是10000笔数据,但加了条件后符合条件的结果集只有10笔数据
系统只显示10笔数据的速度肯定会比显示10000笔数据的速度快
select * from tablename where name like '%a%';我记得如果like后面的字符是二个%后的话,可以用上索引的啊,LZ可以分析试下,
select * from tablename where name like '%a' and name <>'b' and name <>'c';
这个要快
不过'%a%' 和'%a' 都不会用到索引,只有'a%'这样可以用到索引;
所以要看当时数据库的环境,资源争用情况,1)和2)的运行情况;
至于加了<>的条件之后,应该要快一点;