在存储过程中,对同一个表有两步操作,select   update,这两步先后在业务逻辑上没有关系!就是问问大家,在效率上,select 先  快,还是 update 先 快呢!

解决方案 »

  1.   

    这么说真的就很难说了既然select   update,这两步先后在业务逻辑上没有关系!
    那应该操作的是不同的表,因为如果不是,那先后关系不同,select的结果是不同的既然操作不同的表,先后关系有区别吗?
      

  2.   

    这么说真的就很难说了既然select   update,这两步先后在业务逻辑上没有关系!
    那应该操作的是不同的表,因为如果不是,那先后关系不同,select的结果是不同的既然操作不同的表,先后关系有区别吗?我只是想知道,哪个更快些, 谢谢了!先update 再select 很正常的取出但如果先select 再update ,也可以更新select 选出来的结果啊
      

  3.   

    我觉得应该是没什么可比性.但如果操作同样数量数据的话,那么应该是select快,select只有I/O操作少,而update实际执行了删除再插入的操作,操作相对要多一些,效率应该低些
      

  4.   

    光听的你描述无法判断.假设一下,你update的时候将一些大对象更新入了表中的字段,或者是varchar(8000)之类的从null变成了满的8000个字符.那么之后的select肯定要慢.这时候是select先快.反之,update将一些大字段更新小了,那么update先快--但是这里的快的效果不大,因为表如果不优化的话一个page还是存那么多记录,查起来还是要找相同数目的page,还是慢...
      

  5.   

    specialsoldier(雪地撒野~噢姐姐,我要回家) 你的意思是如果,被更新字段没有大的变化,效率上也不会有什么出入了!我update只是更新一个int的数值,而且是一条记录!