项目中要求在一个数据表中查询若干条记录。数据表中存在10000口井的数据,每口井数据有若干条记录。现在需要查询出表中的800口井数据,方案:
1、查询800次,利用 select * from 表名 where 字段名 = 井名2、查询1次,利用select * from 表明 where 字段名 = 井名1 or  字段名 = 井名2 or .....(800口井都写上)我能想到的就这两个方法,有没有更好的方法?没有的话哪个效率高点?非常多谢!

解决方案 »

  1.   

    可以在查询分析器中,看看sql的执行计划
    一次查询一般比多次要好select * from 表明 where 字段名 IN (井名1,井名2,井名N,..)
    这样写至少查询语句更简洁,效率是否更好可是看看执行计划
      

  2.   

    设置索引在数据库设计器中做,将对应的字段设为索引即可。
    用WHERE...IN(...,...,...)做条件清晰一些
    效率问题可以在数据库提供的查询工具中写入语句,选择优化,看看数据库优化后的语句是什么样子。