如何获取MySQL的access_type为‘system’?求可行SQL示例
获取EXPLAIN中access_type为
system的SQL示例 要触发access_type: system,必须满足两个核心条件:
- 目标是MySQL原生系统表(自定义表哪怕仅一行也只会触发
const) - 表中固定只有一行数据
最直接且无需额外操作的示例是查询MySQL内置的虚拟系统表DUAL:
EXPLAIN SELECT 1 FROM DUAL;
执行这条语句后,你会在执行计划中看到access_type字段的值为system。
另外,如果你在mysql数据库下存在仅一行数据的系统表(比如手动向mysql.plugin表插入一行插件记录后),查询该表的整行数据也会触发system类型:
-- 先插入一行插件记录(需具备插件管理权限) INSERT INTO mysql.plugin (name, dl) VALUES ('my_plugin', 'my_plugin.so'); -- 执行EXPLAIN查看执行计划 EXPLAIN SELECT * FROM mysql.plugin;
内容的提问来源于stack exchange,提问作者Jason
相关产品推荐
相关产品推荐

