关于 insert into ... select * from 注意事项

2 篇文章 0 订阅

一、关于锁

  •      在RR隔离级别

insert into table1 ...select * from table2:table1锁表,table2逐步锁(扫描一个锁一个,直至获取所有数据)

  •      在RC隔离级别

insert into table1 ...select * from table2:table1锁表,table2逐步锁(扫描一个锁一个,然后立刻释放锁)

二、关于表

  • 如果源表(table1)和目的表(table2) 是同一张表

那么它的处理流程是:

1.将源表select的结果放入一个临时表

2.然后将临时表的内容插入到目的表

注意项:磁盘空间是否充足,需要考虑临时表myisam 会将varchar转换成char ,临时表的大小比源表占磁盘大。

三、关于日志

binlog_format=row

需要考虑binlog刷盘导致的延迟。

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值