♥️作者:小刘在C站
♥️个人主页:小刘主页
♥️每天分享云计算网络运维课堂笔记,努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生!
♥️树高千尺,落叶归根人生不易,人间真情
目录
1). 连接层
2). 服务层
3). 引擎层
4). 存储层
存储引擎介绍
1). 建表时指定存储引擎
2). 查询当前数据库支持的存储引擎
最上层是一些客户端和链接服务,包含本地 sock 通信和大多数基于客户端 / 服务端工具实现的类似于TCP/IP 的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程 池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于 SSL 的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。
第二层架构主要完成大多数的核心服务功能,如 SQL 接口,并完成缓存的查询, SQL 的分析和优化,部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。在该层,服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化如确定表的查询的顺序,是否利用索引等,最后生成相应的执行操作。如果是 select 语句,服务器还会查询内部的缓存,如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。
存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API和存储引擎进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需要,来选取合适的存储引擎。数据库中的索引是在存储引擎层实现的。
数据存储层, 主要是将数据 ( 如 : redolog 、 undolog 、数据、索引、二进制日志、错误日志、查询 日志、慢查询日志等 ) 存储在文件系统之上,并完成与存储引擎的交互。和其他数据库比, MySQL 有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎上,插件式的存储引擎架构,将查询处理和其他的系统任务以及数据的存储提取离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。
CREATE TABLE 表名( 字段1 字段1类型 [ COMMENT 字段1注释 ] , ...... 字段n 字段n类型 [COMMENT 字段n注释 ] ) ENGINE = INNODB [ COMMENT 表注释 ] ;
show engines;示例演示 : A. 查询建表语句 --- 默认存储引擎 : InnoDB
show create table account;
B. 查询当前数据库支持的存储引擎
C. 创建表 my_myisam , 并指定MyISAM存储引擎
create table my_myisam( id int, name varchar(10) ) engine = MyISAM ;D. 创建表 my_memory , 指定 Memory 存储引擎
create table my_memory( id int, name varchar(10) ) engine = Memory ;
♥️关注,就是我创作的动力
♥️点赞,就是对我最大的认可
♥️这里是小刘,励志用心做好每一篇文章,谢谢大家
上一篇:一套就基本够用的web技术架构