高性能MYSQL--第一章
2017-11-14 19:19
302 查看
MySQL架构与历史
1. Mysql的主要特点?
MySQL最重要的,最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理及其他系统 任务和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。
2.视图,存储过程,触发器的简单理解?
视图不占物理存储空间,它只是一种逻辑对象。可以看做是一个“虚表”。
存储过程是一系类预先编译好的,能实现特定数据库操作功能的SQL代码集。
优点; 重复使用,提高性能 减少网络流量 安全
触发器是一种实现复杂数据完整性的特殊存储过程。
3.MySQL的逻辑架构?
最上层的主要使用来连接管理,授权认证,安全。
第二层包括查询解析,分析优化 ,缓存以及内置函数。
第三层包括存储引擎(表类型)。存储引擎负责MySQL的数据的存储和提取。
4.读写锁?
在并发情况下,为了解决数据在操作过程的错乱,引进了锁机制,分为读锁(共享锁)和写锁(排它锁)。根据锁力度分为行锁和表锁。
注意: 写锁比读锁有更高的优先级。
行锁只在存储引擎层实现,MySQL服务层没有实现。
5事务的特点?
为了保证数据的完整性,特点有原子性、一致性、隔离性、持久性。
6. 隔离机制?
未提交读 提交读 可重复读 可串性化 后面三种可以依次解决脏读,不可重复读,幻读。
较低级别的隔离机制通常有较高的并发,系统的开销也较低。
可重复读是MySQL的默认事务隔离机制
7.死锁?
死锁是指两个或多个事务在同一资源上相互占用,并请求对方所占用的资源,从而导致恶性循环的现象。
解决时需要有外部因素的介入才能解开,通常两种方法,死锁检测机制和死锁超时机制(innodb)。
锁的行为和顺序是和存储引擎相关的。锁在事务型的系统中是无法避免的。
8.MySQL的存储引擎?
在MySQL5.1及以前的版本,MyISAM是默认的存储引擎,
MyISAM : 是旧版本mysql的默认引擎,现在默认引擎是InnoDB。MyISAM引擎的主要特点就是快,没有事务处理操作,也不支持外键操作。适合于多读取插入,少更新删除的操作表。存储数据分成三个文件:.frm(存储表定义) .MYD(存储数据) .MYI(存储索引)
InnoDB :是新版本mysql的默认引擎,支持事务处理和外键,但是其缺点几就是慢了些。存储方式分为两种:1.共享表空间存储。[.frm(表结构) 和 innodb_data_home(数据)和innodb_data_file_path(索引)] 2.多表空间存储。 [.frm(表结构) 和 .idb(数据) ]。
主要优点?
1.更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。
2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。
3.自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
4.外键约束。MySQL支持外键的存储引擎只有InnoDB。
5.支持自动增加列AUTO_INCREMENT属性。
在选择合适的存储引擎时,除非需要用到某些Innodb不具备的特性,并且没有其他办法可以替代,否则都应该选择Innodb引擎。
注意:mysqldump默认会自动在create table 语句前加上drop table语句。
1. Mysql的主要特点?
MySQL最重要的,最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理及其他系统 任务和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。
2.视图,存储过程,触发器的简单理解?
视图不占物理存储空间,它只是一种逻辑对象。可以看做是一个“虚表”。
存储过程是一系类预先编译好的,能实现特定数据库操作功能的SQL代码集。
优点; 重复使用,提高性能 减少网络流量 安全
触发器是一种实现复杂数据完整性的特殊存储过程。
3.MySQL的逻辑架构?
最上层的主要使用来连接管理,授权认证,安全。
第二层包括查询解析,分析优化 ,缓存以及内置函数。
第三层包括存储引擎(表类型)。存储引擎负责MySQL的数据的存储和提取。
4.读写锁?
在并发情况下,为了解决数据在操作过程的错乱,引进了锁机制,分为读锁(共享锁)和写锁(排它锁)。根据锁力度分为行锁和表锁。
注意: 写锁比读锁有更高的优先级。
行锁只在存储引擎层实现,MySQL服务层没有实现。
5事务的特点?
为了保证数据的完整性,特点有原子性、一致性、隔离性、持久性。
6. 隔离机制?
未提交读 提交读 可重复读 可串性化 后面三种可以依次解决脏读,不可重复读,幻读。
较低级别的隔离机制通常有较高的并发,系统的开销也较低。
可重复读是MySQL的默认事务隔离机制
7.死锁?
死锁是指两个或多个事务在同一资源上相互占用,并请求对方所占用的资源,从而导致恶性循环的现象。
解决时需要有外部因素的介入才能解开,通常两种方法,死锁检测机制和死锁超时机制(innodb)。
锁的行为和顺序是和存储引擎相关的。锁在事务型的系统中是无法避免的。
8.MySQL的存储引擎?
在MySQL5.1及以前的版本,MyISAM是默认的存储引擎,
MyISAM : 是旧版本mysql的默认引擎,现在默认引擎是InnoDB。MyISAM引擎的主要特点就是快,没有事务处理操作,也不支持外键操作。适合于多读取插入,少更新删除的操作表。存储数据分成三个文件:.frm(存储表定义) .MYD(存储数据) .MYI(存储索引)
InnoDB :是新版本mysql的默认引擎,支持事务处理和外键,但是其缺点几就是慢了些。存储方式分为两种:1.共享表空间存储。[.frm(表结构) 和 innodb_data_home(数据)和innodb_data_file_path(索引)] 2.多表空间存储。 [.frm(表结构) 和 .idb(数据) ]。
主要优点?
1.更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。
2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。
3.自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
4.外键约束。MySQL支持外键的存储引擎只有InnoDB。
5.支持自动增加列AUTO_INCREMENT属性。
在选择合适的存储引擎时,除非需要用到某些Innodb不具备的特性,并且没有其他办法可以替代,否则都应该选择Innodb引擎。
注意:mysqldump默认会自动在create table 语句前加上drop table语句。
相关文章推荐
- MySQL高性能——第一章
- 高性能Mysql(第一章MySQL架构与历史)
- 高性能Mysql学习笔记之第一章
- 高性能MySql阅读笔记-第一章
- 高性能MySQL(第二版)第一章 基础篇——读书笔记
- mysql高性能扩展_____第一章
- 高性能MySQL第一章笔记
- 高性能MySQL:第一章 MySQL架构与历史
- 高性能LNMP搭建(linux/nginx/mysql/php-fastcgi)
- 构建高性能web之路------mysql读写分离实战
- 第一章 MySql的安装 1.1
- Mysql学习第一章 Java链接Mysql
- 如何编写高性能的 MySQL 语句
- 构建高性能web之路 ------ mysql读写分离实战
- 高性能mysql之慎用BLOB与TEXT
- 一张思维导图学会如何构建高性能 MySQL 系统
- linux(redhat)服务器配置,第一章:mysql安装
- 【nginx+lua高性能web应用开发(二):开发评论模块(ssi+mysql)】
- 第一章:Mysql负载均衡与主从复制实验
- 第六章 优化服务器设置--高性能MySQL 施瓦茨--读书笔记