Mysql--基础篇--概述
MySQl是一个关系型数据库。关系型数据库是建立在关系模型基础上的数据库,简单来说,关系型数据库是由多张能互相连接的二维表组成的数据库。在关系型数据库中,都是使用表结构,格式一致,易于维护。使用通用的SQL语言操作,方便快捷,可用于复杂查询等。
1、客户端/服务器架构
客户端:
可以是任何支持MySQL协议的应用程序,如命令行工具(mysql-cli)、图形化工具(如navicate)、应用程序(如Web应用、移动应用)等
服务器端:
如Mysql实例,MySQL Server负责接收来自客户端的连接请求,解析SQL查询,执行查询操作,并将结果返回给客户端。
2、SQL查询生命周期
解析(Parsing):将SQL语句解析为抽象语法树(AST)。
预处理(Preprocessing):检查权限、验证语法等。
优化(Optimization):生成最优的查询执行计划。
执行(Execution):根据执行计划执行查询,访问存储引擎。
结果返回(Result Return):将查询结果返回给客户端。
3、存储引擎概述
- InnoDB:MySQL的默认存储引擎,支持事务、行级锁、崩溃恢复等高级特性。
- MyISAM:早期的默认存储引擎,支持表级锁,适合读多写少的场景。
- Memory:基于内存的存储引擎,适合临时数据存储,性能极高但不持久。
- 其他存储引擎:如TokuDB、MyRocks、Aria等,各有不同的应用场景。