MySQL的执行原理主要分为以下几层:
2. 查询缓存层:用于缓存 SELECT 语句。如果命中缓存,则直接返回结果,否则进入下一层。
3. 分析层:用于分析 SQL 语句,生成解析树或查询执行计划。
4. 优化层:对解析树或执行计划进行优化,找到最优执行方案。
5. 执行层:根据执行计划,调用存储引擎API执行语句。
6. 存储引擎层:真正的增删改查操作由存储引擎完成。
MySQL支持插件式的存储引擎,常用的有:InnoDB:支持事务、行锁、支持外键,适用于大部分应用场景。MyISAM:不支持事务和行锁,读性能较好,节约内存。
MEMORY:数据存放在内存中,非常快,但数据不能持久化,服务器关闭后丢失。更改MySQL的默认存储引擎可以直接修改my.cnf配置文件,在[mysqld]下添加:
default_storage_engine = innodb
这会将默认存储引擎更改为InnoDB。也可以在MySQL服务启动后,通过以下语句查看和修改默认存储引擎:
SHOW VARIABLES LIKE 'default_storage_engine'; SET default_storage_engine=InnoDB;
除默认存储引擎外,我们也可以在创建表时通过ENGINE选项指定存储引擎:
CREATE TABLE tbl_name ( ... ) ENGINE=InnoDB;
理解MySQL的执行流程和存储引擎概念,可以让我们更好的设计和优化数据库方案。选择合适的存储引擎也是非常重要的。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录