详解MyISAM Key Cache(前篇)

2010-01-14 10:12  |  分类:MySQL

本文将分为前、中、后三篇,分别介绍MyISAM Key Cache的一般机制、Mid-point strategy、状态、参数和命令。

“Cache为王”,无所不在。为了最小化磁盘I/O,MyISAM将最频繁访问的索引块(“index block”)都放在内存中,这样的内存缓冲区我们称之为Key Cache,它的大小可以通过参数key_buffer_size来控制。在MyISAM的索引文件中(MYI),连续的单元(contiguous unit)组成一个Block,Index block的大小等于该BTree索引节点的大小。Key Cache就是以Block为单位的。 全文阅读 »

Query Cache,看上去很美

2009-08-25 18:56  |  分类:MySQL

当你的数据库打开了Query Cache(简称QC)功能后,数据库在执行SELECT语句时,会将其结果放到QC中,当下一次处理同样的SELECT请求时,数据库就会从QC取得结果,而不需要去数据表中查询。

全文阅读 »

InnoDB之Dirty page、Redo log

2009-08-13 09:55  |  分类:技术细节

在InnoDB中,buffer pool里面的dirty page一方面可以加快数据处理速度,同时也会造成数据的不一致(RAM vs DISK)。本文介绍了dirty page是如何产生,以及InnoDB如何利用redo log如何消除dirty page产生的数据不一致。

  1. 当事务(Transaction)需要修改某条记录(row)时,InnoDB需要将该数据所在的page从disk读到buffer pool中,事务提交后,InnoDB修改page中的记录(row)。这时buffer pool中的page就已经和disk中的不一样了,我们称buffer pool中的page为dirty page。Dirty page等待flush到disk上。
    dirty_pages
    全文阅读 »

图说:InnoDB之表空间

2009-08-12 10:29  |  分类:MySQL

InnoDB是MySQL的重要存储引擎,为数据提供了很好的稳定性。一方面,它借鉴了很多ORACLE特性,另一方面InnoDB也有很多自己的特点诸如Insert buffering、Double write等[2]。了解InnoDB的内部机制,可以帮助我们更好的配置和优化它。本文概述了InnoDB的表空间的结构,算是深入了解的第一步。上图先: 全文阅读 »

图解”How MySQL Replication Works”

2009-04-22 18:10  |  分类:MySQL

上图先:
replication 全文阅读 »