我的表中有一个字段是timestamp,我希望执行一次select操作后,被select到的记录自动更新它的timestamp字段.但是我不想分别用和select和update两次操作,因为select已经在数据库里面找到了记录,后面再调update的话数据库又会再搜索一次记录,耗时差不多就是两倍了.有没有什么好办法来实现"执行一次select操作后,被select到的记录自动更新它的timestamp字段"呢?最好是能让总耗时跟一条select操作差不多.

解决方案 »

  1.   

    如果用子查询,查询的结果也不能通过UPDATE返回给我吧?我还需要这些查询结果做其他操作的.
    触发器好象不能响应SELECT事件吧?
      

  2.   

    update时间跟select差不多?不可能,update和select同一信息至少耗时是2倍以上。除非你建立缓存,或者本身数据库就支持。如果你是远程连接,那么考虑用事务,把所有的SQL一次发送。
      

  3.   

    select的同时执行update?不可以。
      

  4.   

    可以在一个事务中分成多条SQL处理。