MySql架构
时间:2010-09-29 来源:笑清风
一、MySql架构逻辑
1.连接管理和安全性
2.优化与执行
二、并发控制
服务器层和存储引擎层
1.读锁和写锁 Read Lock and Write Lock
共享锁(Shared Lock)和排他锁(Exclusive Lock) 或者读锁(Read Lock) 和写锁(Write Lock)
2.锁粒度(Lock Granularity)
表锁(Table lock)
行级锁(Row locks)
三、事务
ACID 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)
1.隔离级
READ UNCOMMITTED(读取未提交内容)
READ COMMITTED(读取提交内容) sqlServer默认
REPEATABLE READ(可重读) Mysql默认
SERIALIZABLE(可串行化)
2.死锁
3.事务日志
预写式日志(Write-Ahead logging)
4.Mysql中的事务
MysqlAB提供3个事务型存储引擎:InnoDB、NDB CLuster和Falcon,还有介个第三方引擎也支持事务处理,目前最知名的第三方事务性引擎是solidDB和PBXT
AUTOCOMMIT(自动提交)---Mysql默认操作模式是autocommit模式
在事务中混合使用存储引擎
隐式和显式锁定
四、多版本并发控制 MVCC---Multiversion Concurrency Control
五、Mysql的存储引擎
在windows平台上,Mysql的实例名、表名、数据库名都是大小写不敏感的;在Unix类平台上则是大小写敏感的,每种存储引擎对表数据和索引的存储方式是不同的,但是表的定义是由Mysql服务器独立处理的。
1.MyISAM引擎 --- Mysql默认的存储引擎
一般来说MyISAM将每个表存储为2个文件:数据文件.MYD和索引文件.MYI
show table status like 'mytable' \G;
check table mytable ;
repair table mytable ;
当服务器离线时 myisamchk命令行工具检查和修复表;myisampack压缩;
2.MyISAM MERGE引擎
3.InnoDB 引擎 ---专为事务处理设计的一款存储引擎
4.Memory引擎
5.Archive引擎
6.CSV引擎
7.Federated引擎
8.Blackhole引擎
9.NDB Cluster引擎
10.Falcon引擎
11.solidDB引擎
12.PBXT引擎
13.Maria引擎
14.其他的存储引擎
15.选择合适的引擎
16.表转换
ALTER TABLE MYTABLE ENGINE=myisam
转储(Dump)和导入(Import)
CREATE 和SELECT