MySQL是典型的C/S架构,也就是Client/Server架构,服务器端程序使用的mysqld.总体的MySQL流程以下图所示:mysql
MySQL是有三层组成:sql
其中,SQL层与数据库文件的存储方式无关,咱们来看下SQL层的架构:数据库
SQL语句在MySQL中的流程是: SQL语句 -> 缓存查询 -> 解析器 -> 优化器 -> 执行器.缓存
说说存储引擎,MySQL的存储引擎采用了插件的方式,每一个存储引擎都面向一种特定的数据库应用环境.同事MySQL还容许开发人员设置本身的存储引擎.下面列举常见的存储引擎:服务器
注意,数据库的设计在于表的设计,因此MySQL中每一个表的设计均可以采用不一样的存储引擎,能够根据实际状况的数据处理须要来选择存储引擎,这个是MySQL强大的地方.架构
完成的MySQL结构图以下:
oracle
profiling的使用,开启profiling可让MySQL收集在SQL执行时所使用的资源状况,命令以下分布式
select @@profiliong;
返回结果若是是0表示关闭,若是是1表示打开.可使用 set profiling = 1;将profiling打开.优化
接下来能够执行sql语句,而后使用 show profiles来查询当前会话产生的全部peofiles.
插件
前面会有query_id,可使用show profile;获取上次查询执行的时间,或者使用show profile for query id;查询指定的query id执行的时间.
固然还有oracle的执行过程,这个暂时不研究.