MySQL 5.0.x
数据表goods_list
bn varchar(200)
store mediumint(8)数据表goods_new
bn varchar(200)
store mediumint(8)数据量约10w。1.bn为编号,是唯一的。store为商品库存。现需要将goods_list中的每一个商品的store库存都更新为goods_new中的store值,如果某条记录goods_new中无对应商品,则设为0。bn字段为varchar可能会影响执行效率,所以请高手给一个执行效率高的语句。2.将table1中的数据复制到table2中,两个表结构完全相同,增量复制,把table1的数据添加到table2里面。数据量10w,需要尽可能高效一些的代码。解决问题即结贴。
数据表goods_list
bn varchar(200)
store mediumint(8)数据表goods_new
bn varchar(200)
store mediumint(8)数据量约10w。1.bn为编号,是唯一的。store为商品库存。现需要将goods_list中的每一个商品的store库存都更新为goods_new中的store值,如果某条记录goods_new中无对应商品,则设为0。bn字段为varchar可能会影响执行效率,所以请高手给一个执行效率高的语句。2.将table1中的数据复制到table2中,两个表结构完全相同,增量复制,把table1的数据添加到table2里面。数据量10w,需要尽可能高效一些的代码。解决问题即结贴。
mysql> update goods_list set store = (select ifnull(store,0) from goods_new where goods_new.bn
= goods_list.bn);(用到 ifnull函数)
只要两表上的bn字段都是主键,都有内建索引,性能应该不是大问题。