日期:2014-05-16  浏览次数:20787 次

update 效率及优化问题
业务需要更新一个表的字段的值,数据大概100万左右,条件根据用户输入来定,但输入条件比较多,
 而且都是可多选的。
  
如表 ai_stock 字段 id,name ,code,v1,v2,v3,v4,v5,v6,v7,v8 ,qty1,qty2,amt,amt2...)

目前我SQL 如下:
update ai_stock set qty=(用户输入) where v1 in('','',...,'')
  and v2 in ('','',...,'')
  and v3 in ('','',...,'')
  ....

如果都写IN 肯定会影响执行的效率,在此过程用用户只能在WEB页面等待,不知此UPDATE语句能如何优化,尽量缩短用户等待时间。

 

------解决方案--------------------
如果括号中的选择项不是很多的话,影响不是很大。
------解决方案--------------------
如果数据量比较大的话,就分批提交吧