MySQL是最受欢迎的开源SQL数据库管理系统,由Oracle Corporation开发,分发和支持。

MySQL网站(http://www.mysql.com/)提供有关MySQL软件的最新信息。

逻辑分层

下面是MySQL的逻辑分层图:

连接层:连接与线程处理,这一层并不是MySQL独有,一般的基于C/S架构的都有类似组件,比如连接处理、授权认证、安全等。

服务层:包括缓存查询、解析器、优化器,这一部分是MySQL核心功能,包括解析、优化SQL语句,查询缓存目录,内置函数(日期、时间、加密等函数)的实现。

引擎层:负责数据存储,存储引擎的不同,存储方式、数据格式、提取方式等都不相同,这一部分也是很大影响数据存储与提取的性能的;对存储层的抽象。

存储层:存储数据,文件系统。

存储引擎

存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎;特别提示:存储引擎针对于数据表。

查看数据库支持的存储引擎:show engines;

看到MySQL给用户提供了这么多存储引擎,包括支持事务的引擎和不支持事务的引擎。

如果要想查看数据库默认使用哪个引擎,可以通过使用命令: show variables like '%storage_engine%';

举例:创建表,默认的存储引擎(InnoDB)

建表语句

create table default_table(
id int auto_increment,
name varchar(10) not null,
primary key(id)
);

查看建表语句

show create table default_table;

举例:创建表并指定存储引擎(MyISAM)

create table define_table(
id int auto_increment,
name varchar(10) not null,
primary key(id)
)engine=myisam;

InnoDB,MyISAM的主要区别:

InnoDB:在MySQL5.5开始作为默认的存储引擎,支持事务,行级锁,适合高并发场景,XA协议支持分布式事务。

MyISAM:不支持事务,性能优先,表级锁,不适合高并发场景。

举例(可能不恰当):通过count(0)简单分析InnoDB和MyISAM性能区别,explain/desc是分析sql语句的关键字

default_table表的存储引擎为InnoDB,count(0)需要扫描表;

define_table表的存储引擎为MyISAM,count(0)不需要扫描表,MyISAM将表的记录数单独存储,性能要优于InnoDB。

最新文章

  1. Powershell脚本执行权限
  2. py-faster-rcnn +cudnn V5
  3. wildfly jboss 优化配置
  4. 关于django xadmin的学习改造(菜单名称,更改默认前缀数据库)
  5. Android正则表达式使用及性能隐患分析
  6. 实例之JavaScript
  7. sqlserver下载
  8. 调整Linux磁盘分区的大小的方法
  9. 【超详细教程】使用Windows Live Writer 2012和Office Word 2013 发布
  10. 图说苹果工作站-MAC PRO
  11. 2天驾驭DIV+CSS (技巧篇)(转)
  12. UI:tomcat(说话小程序)、相框动画、UISgmentcontrol、UISwitch
  13. AngularJS测试二 jasmine测试路由 控制器 过滤器 事件 服务
  14. [11-1] adaboost DTree
  15. java csv 文件 操作类
  16. Java 第十一周总结
  17. 关于noip2017的感想
  18. Django学习笔记之安全
  19. day_3各种数据类型与各种运算符
  20. 讲解wpe抓包,封包

热门文章

  1. GraphX介绍
  2. centos7中的网卡名称相关知识
  3. 23_2spring的常用注解
  4. Sereja and Brackets CodeForces - 380C (树状数组+离线)
  5. linux下安装压缩解压程序7z命令及7z命令的使用
  6. PAT乙级1031
  7. python+Appium自动化:记录遇到的坑
  8. 第六章 组件 67 使用ref获取DOM元素和组件引用
  9. MySQL BinLog Server 搭建实战
  10. Vue 页面 前进刷新 后退不刷新(keepAlive)