当前位置:数据库 > SQLServer >>

sqlserver like '%' 性能问题

有两个查询 一个 是 select * from a 一个是SELECT * from a where a.b like '%' 两者在执行上有什么区别 性能如何
追问:我测试了效果 用了LIKE的时间比较稳定 不用LIKE的时间变化比较大 但 不用的与用的差别不大 读取30W条记录差100毫秒上下浮动我是做项目的时候遇见了 要对分页结果 再进行多条件过滤 目前主流是 用 拼串 或者在存储过程中做判断,我采用了 LIKE‘%’ 如果用户没有输入过滤条件就查这个。测试了效果差别不大 所以弄清楚为什么你能不能再细节点呢
答案:建议LZ实测 
涉及到查询的效率的时候千万别相信所谓的理论 
自己拿数据实测才是最有效的
其他:select * from a 是查询表A中的所有数据,而select * from a where a.b like '%'是查询a.b为所有的所有记录,虽然查询的结果是一致的,但是后者要先判断where后面的条件,性能上应该比前者弱。 相对来说,Like性能差,因为要全表搜索,不走索引 select * from a 是查询a表中所有数据 没有任何条件
SELECT * from a  where a.b like '%' 是查询a表中b字段不为空的所有数据 b字段不为空就是条件 感觉SQLsever的查询的快慢主要跟数据有关系,
比如第二个语句改成SELECT * from a  where a.b like 'A%' 
那么这一句就快很多,因为数据少了很多.
而select * from a  其实跟select * from a where a.b btween 'min_value' and 'max_value'是一样的
希望对你有些帮助 

上一个:64位Win7安装 SQLServer2005的问题??
下一个:附加数据库 对于服务器“服务器名”失败。(Microsoft.SqlServer.Express.Smo)

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,