当前位置: 移动技术网 > IT编程>数据库>Mysql > Mysql知识整理(二)

Mysql知识整理(二)

2020年07月14日  | 移动技术网IT编程  | 我要评论

1、Mysql体系结构
在这里插入图片描述

  • Connectors:支持多种语言的客户端

  • Management Services & Utileties:系统管理和控制工具,Mysqldump,Mysql复制集群,分区管理等

  • Connection Pool:连接池,管理及缓存用户连接,username,pwd,线程处理等需要缓存的需求。

  • SQL Interface:sql接收的入口,接收用户的sql命令,并返回用户需要的结果。(相当于mvc里的controller)

  • Parser:解析器,sql命令传递到解析器这里会对sql进行校验和解析

  • Optimizer:查询优化器,sql在查询之前会使用查询优化器对查询进行优化,并确立唯一的查询计划

  • Cache & Buffer:查询缓存,如果查询中有命中缓存,查询结果可以直接到查询缓存中获取结果

  • Pluggable storage Engines:插拔式的存储引擎,存储引擎是mysql中具体的与文件交互的子系统

  • File System:文件系统,数据,日志redo,undo,binlog,索引,错误日志,查询记录,慢查询等。
    2、各大存储引擎
    存储引擎用于修饰表,5.5以后的版本默认为InnoDB,是插拔式,可随时卸载和加载。
    2.1、CSV

  • 不能定义索引,列定义必须为NOT NULL,不能设置自增

  • CSV表的数据存储用“,”隔开,可直接编辑CSV文件进行数据的编排。

  • 不适合用大表或者数据的在线处理

  • 数据安全性低

  • 适用数据的快速导入和导出,表格直接转成CSV
    2.2、Archive

  • 压缩协议(ARZ文件格式)进行数据的存储,磁盘占用少,大概是InnoDB存储的1/20

  • 支持支Insert和Select两种操作

  • 只允许自增ID列创建索引

  • 适用日志,大量的设备数据采集归档,只做保存不做修改的场景
    2.3 Memory

  • 数据都是存储在内存中,处理效率高,表的默认限定为16M

  • 不支持大数据存储类型如blog、text,里面的字段都是定长。

  • 支持hash索引,等值查询效率高

  • 字符串强制使用char 如 varchar(32)变为Char(32)

  • 数据可靠性低,重启系统或者崩溃数据丢失

  • 适用数据热点快速加载

  • 查询结果内存中的计算,大多数都是采用这种引擎作为临时表的存储和计算,当临时表的大小小于默认16M时用这个引擎,当大于默认的16M时用MyIsam。
    2.4、Myisam

  • 较快的数据插入和读取性能

  • 较小的磁盘占用(相对于InnoDB)

  • 支持表级别的锁,不支持事务

  • 数据文件与索引文件分开存储(myd和myi)

  • myisam的统计count方法可以是通过额外的常量进行返回,所以select count(*)的查询效率极高。

  • 适用于只读应用或者以读为主的业务。
    ** 2.5、InnoDB**

  • 支持事务

  • 行级别的锁

  • 聚集索引

  • 数据行内容与索引结构在一个文件(IBD)

  • 外键支持,保证数据的完整性

  • 5.5及以后的默认存储引擎。
    暂时先到这里,下次整理sql执行计划

本文地址:https://blog.csdn.net/weixin_38972374/article/details/107303105

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网