例如: 表 1: id name addr 1 zhangsan xxx 2 lisi xxx 3 wangwu xxx
将进行 delete 操作: delete from 表 1 where id=3; 数据库会进行什么操作?
是全表扫描一列一列的对比?生成的 binlog 会是什么样呢?
1
banxi1988 2019-02-14 10:35:25 +08:00 1
其实你没有设置主键,MySQL 内部也会维护一个跟主键类似的东西。
|
2
wd 2019-02-14 13:45:20 +08:00 via iPhone
全表扫描 一行一行比
|
3
keepmovingbuddy 2019-02-14 16:08:34 +08:00
用 explain 命令执行一下就知道数据库具体怎么执行你的命令了
|
7
msg7086 2019-02-14 22:39:30 +08:00
已经定位到某一行了还比什么?直接删掉这行啊!
|
8
c4f36e5766583218 2019-02-22 18:57:21 +08:00
@yaoweber 你不是写了 where id=3 ?(读取一行判断 id=3,删除,继续下一行
|