Mysql架构以及Mysql引擎
Mysql架构
1.连接层:负责接收客户端的连接请求
最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。
2.服务层:sql接口接收sql、解析器sql语法解析、查询优化器SQL优化 、缓存
第二层架构主要完成大多数的核心服务功能,如 SQL 接口,并完成缓存的查询,SQL 的分析和优化及部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。在该层,服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化,如确定查询表的顺序,是否利用素引等,最后生成相应的执行操作。如果是 select 语句,服务器还会查询内部的缓存。如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。
3.引擎层:是真正落地实现的具体方式,不同的存储引擎特点不同,将数据存储到文件中
存储引擎层,存储引擎真正的负责了 MysQL 中数据的存储和提取,服务器通过 API 与存储引擎进行通信。不同的存储引擎具有的功能不同,这样我们可以根据自己的实际需要进行选取。
4.物理文件存储层:使用各种文件用来存储数据以及各种日志文件.
数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互。
Mysql引擎
数据引擎是什么?
存储引擎是具体的操作数据的方式;MySQL 中的数据用各种不同的技术存储在文件中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平、并且最终提供广泛的不同的功能和能力,这些不同的技术以及配套的相关功能在MYSQL中被称作存储引擎。
是对表进行设置的,可以创建表的时候指定,也可以事后修改,主要是使用数据引擎进行创建、查询、更新和删除数据到文件中。
不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。在面对不同的数据库情况时,也支持使用多种数据引擎。
正确选择数据引擎的好处?
通过引擎的使用,能够获得额外的速度和功能,从而改善应用的整体功能。可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息,如何检索这些信息以及你需要你的什么数据结合什么性能和功能的时候提供最大的灵活性。
如何定义数据引擎
查看支持的引擎
SHOW ENGINES;
查看表引擎
SHOW TABLE STATUS LIKE '表名'
修改引擎
方式 1:将 mysql.ini 中 default-storage-engine=InnoDB,重启服务.
方式 2:建表时指定 CREATE TABLE 表名(...)ENGINE=MYISAM;
方式 3:建表后修改 ALTER TABLE 表名 ENGINE = INNODB;
注:我们一般都是在创建表的时候执行存储引擎
存储引擎主要有:
存储引擎主要有:
1 .MyIsam , 2. InnoDB 3. Memory, 4. Blackhole, 5. CSV, 6. Performance_Schema, 7. Archive, 8. Federated , 9 Mrg_Myisam 我们主要分析使用 MyIsam 和 InnoDB。
部分数据库支持的功能:
Innodb引擎:支持事务,支持行级锁(一个事务对某一行数据操作时,只会锁定某一行数据,而不锁定其他行,效率高,支持高并发的操作)支持外键约束,支持缓存,支持全文索引,不会存储表中的总行数,创建表时默认是innodb;适用于增删改操作较多的场景。
MyISAM:不支持事务,不支持主外键,不支持行级锁,支持表锁(进行增删改dml操作时,会锁定整张表),主要用于查询操作多,增删改操作较少的场景,支持全文索引,存储表的总行数。
Mysql架构以及Mysql引擎相关推荐
- Mysql使用大全(MySQL架构与存储引擎 、事务 、业务设计 、索引 、数据结构 、执行计划 、数值类型)
这是一篇mysql大全,学习完这篇文章,相信在日常业务和面试完全不在问题,下面我们来一一介绍 MySQL架构与存储引擎 全局变量和会话变量 要想显式指定是否设置全局或会话变量,使用GLOBAL或SES ...
- (1)Mysql架构和常用引擎介绍
Mysql设计原理栏目总结 (1)Mysql架构和常用引擎介绍 (2)Mysql索引原理和优化总结 1.MySQL逻辑架构图 (1)Server层:包括图中XX,以及所有内置函数和所有跨存储引擎功能, ...
- 【一】MySql优化概述 + MySql架构与存储引擎
衡量指标 Qps:Queries Per Second 每秒查询量,同时适用于InnoDB和MyISAM引擎 QUESTIONS/UPTIME Tps:Transactions Per Second ...
- MySQL 架构组成—存储引擎
博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! MySQL Server 系统架构 上图 ...
- 【建议收藏】15755字,讲透MySQL性能优化(包含MySQL架构、存储引擎、调优工具、SQL、索引、建议等等)
0. 目录 1)MySQL总体架构介绍 2)MySQL存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的SQL 5)SQL优化的一些建议 1 MySQL总体架构介绍 1.1 MySQL总体架构 ...
- mysql架构与存储引擎
文章目录 一.MySQL体系架构 1.1 网络连接层 1.2 服务层(MySQL Server) 1.3 存储引擎层(Pluggable Storage Engines) 1.4 系统文件层(File ...
- 【建议收藏】15755 字,讲透 MySQL 性能优化(包含 MySQL 架构、存储引擎、调优工具、SQL、索引、建议等等)
0. 目录 1)MySQL 总体架构介绍 2)MySQL 存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的 SQL 5)SQL 优化的一些建议 1 MySQL 总体架构介绍 1.1 MySQ ...
- redis mysql 架构_redis+mysql架构搭建
redis+mysql框架搭建 redis是一个key-value存储系统.和memcached类似,不过redis支持的value类型更多,主要有:string(字符串).list(链表).set( ...
- php mysql架构_PHP+MySQL网站架构方面的一些认识
目前网站架构一般分成负载均衡层.WEB层和数据库层 负载均衡层-- LVS, WEB层--使用了nginxweb服务器, 数据库层--我们使用了db集群方案. 网站概况 浏览量(PV) 独立访客(UV ...
最新文章
- 如何将知识图谱特征学习应用到推荐系统?
- MATLAB_9-模式识别笔记
- cytoscape---插件clueGO的使用
- 一位大厂程序员回老家当公务员了!
- Python_二叉树定义与遍历
- 微策略2011校园招聘笔试题(找出数组中两个只出现一次的数字)
- Docker极简入门
- leetcode35 插入的位置
- 河南理工大学c语言报告封面,河南理工大学图书信息管理系统设计_纯c语言课程设计.doc...
- ant+testng 搭建
- 程序员 数学_程序员数学课程
- labview卸载重装工具(NI卸载工具)
- 【最全,带注释版】雷赛运动控制卡库函数C#导出
- 推荐一个理解线性代数的视频
- 如何开通电子邮箱的SMTP功能
- 多少开发人员 饿了么_开发个类似饿了么外卖app要多少钱
- 【华为机试真题 Python实现】一个正整数到 Excel 编号之间的转换
- 机器学习算法基础(使用Python代码)
- 长沙距离中国的“凤凰城”还有多远?
- Q4营收猛增仍亏损上亿,Z世代的宠儿Snap何时逼近盈利点?