应用环境如下客户端  有一组数据 需要检查数据库里有没有该组数据,目前有两个思路一是读取数据库里所有记录,然后对比两个数组还有一个就是将客户端的数据 一条条从数据库里查询看是否有记录,大家看这两种方式哪种效率要高些呢 

解决方案 »

  1.   

    不知道你所说的记录是否存在,是针对某些关键字段呢?还是所有字段?
    如果是真对某些关键字段,则可以考虑以下方式:
    建立临时表,将客户端的数据load进临时表,再在临时表上建立合适的索引(主要考虑要与比较数据的表的关联条件),然后直接与已有表通过关键字段进行关联比较。
      

  2.   

    第一种就相当于存储过程;第二种就相当于单纯的SQL语句。
    效率可想而知了。
      

  3.   

    貌似就是一个在where条件上的 in 语句,还是用这个吧,这个快。
      

  4.   


    举个例子解释下子,谢谢。没用个in语句,用 select where 不就可以检索吗?
      

  5.   


    那存储和单纯的sql语句哪个效率高?还是都低啊
      

  6.   

    假设你的SQL 语句都是最优化的,那么前者高。