用explain 为啥mysql 的insert 是全表扫描
时间: 2024-04-11 10:11:37 浏览: 280
简述Mysql Explain 命令
我认为您可能误解了MySQL的EXPLAIN输出。在MySQL的EXPLAIN输出中,INSERT语句通常会显示为全表扫描(FULL SCAN),但这并不意味着实际上会扫描整个表。相反,这是因为MySQL在执行INSERT时需要锁定整个表,因此在EXPLAIN输出中显示为全表扫描。
当执行INSERT语句时,MySQL会获取一个表级锁,以确保不会有其他会话在同一时间修改该表。这意味着在执行INSERT操作期间,其他查询和插入操作将被阻塞,因为它们需要等待锁定释放。
在EXPLAIN输出中,全表扫描的标记只是一个提示,告诉您INSERT语句可能会对整个表进行锁定,而不是实际上执行了全表扫描。因此,不要将全表扫描的标记与实际的查询执行计划混淆。
阅读全文