需要从一个表中查询出记录,并且插入到另一个表中。如果一个事务写成insert into b select * from a where addtime <= 'xxxx-xx-xx xx:xx:xx'
delete from a where id in (select id from orderbaks)这种形式的话,总是会Lock wait timeout exceeded的错误,因为服务器平常负荷已经很大了,所以不想修改mysql的innodb_buffer_pool_size的参数。所以想写成查询一条执行一条的形式,写成一个php的while循环的形式,每次要导入大约五千条左右的数据!问题:
1、这样是否会引发别的问题呢???
2、是不是应该有一个更好的方法呢???求高手解答
delete from a where id in (select id from orderbaks)这种形式的话,总是会Lock wait timeout exceeded的错误,因为服务器平常负荷已经很大了,所以不想修改mysql的innodb_buffer_pool_size的参数。所以想写成查询一条执行一条的形式,写成一个php的while循环的形式,每次要导入大约五千条左右的数据!问题:
1、这样是否会引发别的问题呢???
2、是不是应该有一个更好的方法呢???求高手解答
拆了就是了。
delete from a where id in (select id from orderbaks LIMIT offset, 100)