MySql历史与架构
MySQL 逻辑架构
连接管理与安全性
优化与执行
并发控制
读写锁
读锁(共享锁)
写锁(独占锁)
锁粒度
锁策略
行锁
表锁
事务
- 原子性: 要么全部执行,要么全部不执行
- 一致性: 状态的改变是完全的,不存在改变一半就被保存的情况
- 隔离性: 在提交前对其他事务不可见
- 持久性: 数据更改会永远保存
隔离级别
未提交读(Read Uncommited)
可提交读
可重复读
可串行化
死锁
事务日志
好处
- 避免频繁从内存向磁盘中写入数据(可以记录下日志操作,在后台慢慢一次写入,所以日志文件是追加写)
- 便于出现故障后的恢复
Mysql中的事务
自动提交(AUTOCOMMIT)
混合使用多种存储引擎
隐式和显式锁定
多版本并发控制(MVCC)
- 一个列保存了创建时间,一个列保存删除时间(时间指版本号)
- 每开始一个新的事务,系统版本号都会递增,并把事务开始时的版本号作为事务的版本号,供与查询到的每行版本号相匹配
MySql存储引擎
- 表的定义存储在.frm文件中
- 通过show table status 'tableName'查看表的相关定义信息
InnoDB
- 数据存储在表空间中
- 采用MVCC实现并发,实现四种隔离级别,默认可重复读
- 基于聚簇索引(第二索引必须包含主键)建立
MyISAM
缺点
- 不支持事务和行级锁
- 数据库崩溃后无法安全恢复
特性
- 对整张表加锁,而不是针对行,但在读取数据的时候依然可以插入新的数据(并发插入)
- 延迟更新索引键
其他引擎
CSV
Memory
Archive
第三方引擎
选择合适的引擎
更换表的引擎
ALTER TABLE
导入与导出
创建与查询
MySql历史与架构的更多相关文章
- MySQL 高可用架构在业务层面的应用分析
MySQL 高可用架构在业务层面的应用分析 http://mp.weixin.qq.com/s?__biz=MzAxNjAzMTQyMA==&mid=208312443&idx=1&a ...
- MySQL 数据库主从复制架构
前文<MySQL 数据库事务与复制>分析了 MySQL 复制过程中如何保证 binlog 和事务数据之间的一致性,本文进一步分析引入从库后需要保证主从的数据一致性需要考虑哪些方面. 原生复 ...
- MYSQL企业常用架构与调优经验分享
一.选择Percona Server.MariaDB还是MYSQL mysql应用源码:http://www.jinhusns.com/Products/Download/?type=xcj 1.M ...
- 下载MySQL历史版本
下载MySQL历史版本 地址:http://downloads.mysql.com/archives/community/
- Mysql高可用架构(主从同步)
做高可用的优势 1.成本低 2.解决单点故障 3.不容易遇到性能瓶颈 一 .Mysql主从同步架构搭建案例 优点如下:·在业务繁忙阶段,在从服务器上可以执行查询工作(即我们常说的读写分离),降低主服务 ...
- MySQL集群架构:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高性能-技术流ken
MHA简介 MHA可以自动化实现主服务器故障转移,这样就可以快速将从服务器晋级为主服务器(通常在10-30s),而不影响复制的一致性,不需要花钱买更多的新服务器,不会有性能损耗,容易安装,不必更改现有 ...
- 【MySQL大系】《Mysql集群架构》
原文地址(微信):[技术文章]<Mysql集群架构> 本文地址:http://www.cnblogs.com/aiweixiao/p/7258444.html 点击关注微信公众号 1.主要 ...
- MYSQL 企业常用架构与调优经验分享
一.选择Percona Server.MariaDB还是MYSQL mysql应用源码:http://www.jinhusns.com/Products/Download/?type=xcj 1.M ...
- mysql扩展性架构实践N库到2N 库的扩容,2变4、4变8
mysql扩展性架构实践N库到2N 库的扩容,2变4.4变8 http://geek.csdn.net/news/detail/5207058同城 沈剑 http://www.99cankao.com ...
随机推荐
- Kerberos原理经典对话
这是MIT(Massachusetts Institute of Technology)为了帮助人们理解Kerberos的原理而写的一篇对话集.里面有两个虚构的人物:Athena和Euripides, ...
- JavaScript事件绑定的三种方式
(一)事件绑定的三种方式 (1)通过on的形式 <script type="text/javascript"> var div = document.getElemen ...
- Apple 订单系统 bug
Apple 订单系统 bug 看不到最近的购买信息 https://secure1.www.apple.com.cn/shop/order/list refs xgqfrms 2012-2020 ww ...
- Bastion Host (BH)
Bastion Host (BH) 堡垒机 堡垒主机是专门设计和构造成承受攻击网络上的专用计算机. 该计算机通常承载单个应用程序,例如代理服务器,并且所有其他服务都将被删除或限制以减少对计算机的威胁. ...
- Typescript & readonly property
Typescript & readonly property https://www.typescriptlang.org/docs/handbook/classes.html#readonl ...
- taro scroll tabs 滚动标签 切换
taro scroll tabs 滚动标签 切换 https://www.cnblogs.com/lml-lml/p/10954069.html https://developers.weixin.q ...
- js & disabled right click & disabled right menu
js & disabled right click (() => { const log = console.log; log(`disabled copy`); document.bo ...
- ts 使用 keyof typeof
传递参数 const cats = { "Coding Cat": "https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy. ...
- Dyno-queues 分布式延迟队列 之 生产消费
Dyno-queues 分布式延迟队列 之 生产消费 目录 Dyno-queues 分布式延迟队列 之 生产消费 0x00 摘要 0x01 前情回顾 1.1 设计目标 1.2 选型思路 0x02 产生 ...
- 02.Fancy Indexing
import numpy as np x = np.arange(16) index = [3,5,8] x[index] array([3, 5, 8]) X = x.reshape(4,-1) X ...