基于基于mysql体系结构的深入解析体系结构的深入解析
由:连接池组件、管理服务和工具组件、sql接口组件、查询分析器组件、优化器组件、
缓冲组件、插件式存储引擎、物理文件组成。
mysql是独有的插件式体系结构,各个存储引擎有自己的特点。
mysql各个存储引擎概述:各个存储引擎概述:
innodb存储引擎:存储引擎:[/color][/b] 面向oltp(online transaction processing)、行锁、支持外键、非锁定读、默认采用repeaable级别
(可重复读)通过next-keylocking策略避免幻读、插入缓冲、二次写、自适应哈希索引、预读
myisam存储引擎:存储引擎:不支持事务、表锁、全文索引、适合olap(在线分析处理),其中myd:放数据文件,myi:放索引文件
ndb存储引擎:存储引擎:集群存储引擎,share nothing,可提高可用性
memory存储引擎:存储引擎:数据存放在内存中,表锁,并发性能差,默认使用哈希索引
archive存储引擎:存储引擎:只支持insert和select zlib算法压缩1:10,适合存储归档数据如日志等、行锁
maria存储引擎:存储引擎:目的取代myisam、缓存数据和索引、行锁、mvcc
innodb特性:特性:
主体系结构:主体系结构:默认7个后台线程,4个io thread(insert buffer、log、read、write),1个master thread(优先级最高),1个锁(lock)监
控线程,1个错误监控线程。可以通过show engine innodb status来查看。新版本已对默认的read thread和write thread分别增
大到4个,可通过show variables like ‘innodb_io_thread%’查看。
存储引擎组成:存储引擎组成:缓冲池(buffer pool)、重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool).具体配置可
由show variables like ‘innodb_buffer_pool_size’、show variables like