请教数据库多条件查询效率优化问题
以前学的编程,好久不用现在忘的都差不多了。最近帮朋友写个小程序,对于多条件查询有些问题,听听大家的指点。谢谢!
环境:jdk1.7、sqlserver2000、tomcat6.0
查询条件:邮政编码、员工人数、机器设备数量、项目编号(不是主键id)、营业范围、公司名称。
我现在有两种方案,一是AND所有条件,然后在这个结果集中模糊查询“公司名称”,还有一个就是查询最严格的条件,然后分别把结果集作为查询范围,再在这个结果集的范围里查询次严格的条件,以此类推,最后再模糊查询“公司名称”。(就是:SELECT * FROM 表 WHERE name LIKE '%条件%' AND EXISTS (SELECT * FROM 表 WHERE 字段=条件 AND EXISTS(......)))
目前数据量在3万左右,以后还会增长。想请问大家,这种种查询语句,哪一种效率上更高一点?