原文地址:http://blog.sina.com.cn/s/blog_445e807b0101ggtl.html1,顶顶有名的官方mysql架构图,理解mysql整体机构必不可少2,更直观性mysql整体逻辑机构图:3,innodb引擎架构图,对理解innodb内部结构大有裨益4,mysql sq...
分类:
数据库 时间:
2014-08-18 18:18:32
阅读次数:
348
上一篇介绍了Innodb的同步机制锁:Innodb锁系列1这一篇介绍一下Innodb的事务锁,只所以称为事务锁,是因为Innodb为实现事务的ACID特性,而添加的表锁或者行级锁。这一部分分两篇来介绍,先来介绍下事务锁相关的数据结构事务锁数据结构1. 锁模式/* Basic lock modes *...
分类:
数据库 时间:
2014-08-18 00:13:03
阅读次数:
366
如果有个很大的回滚日志并且表空间因此增长很快,可以强制mysql减速来使innodb的清理线程可以跟得上。这听起来不怎么样,但是没有办法,否则,innodb将保持数据写入,填充磁盘直到最后磁盘空间爆满,或者表空间大于定义的上限为控制写入速度,可以设置innodb_max_purge_lag()变量为...
分类:
数据库 时间:
2014-08-15 23:45:19
阅读次数:
318
TRANSACTIONS------------Trx id counter 2003909(当前事务号)Purge done for trx's n:o < 2003905 (清理线程完成到了哪个点)undo n:o < 0 state: running but idle如果上述两个差距很大,可能...
分类:
数据库 时间:
2014-08-15 23:44:49
阅读次数:
275
有写场景下,双写缓冲确实没必要,例如,你也许像在备库上禁用双写缓冲,此外,一些文件系统,例如zfs做了同样的事,所以,没必要再让innodb做一遍。innodb_double_write=0 即可关闭双写缓冲在percona server中,可以配置双写缓冲到独立的文件中,所以可以把这部分工作压力分...
分类:
数据库 时间:
2014-08-15 23:42:09
阅读次数:
350
即时打开innodb_file_per_table选项,依然需要为回滚日志和其他系统数据创建共享表空间,没有把所有数据放在其中是明智的做法,但最好还是关闭它自动增长,因为无法在不重新导入全部数据的情况下给共享表空间瘦身。一些人喜欢是用innodb_file_per_table,只是因为特别容易管理,...
分类:
数据库 时间:
2014-08-15 22:22:19
阅读次数:
238
使用过MySQL刚开始接触最多的莫过于MyISAM表引擎了,这种引擎的数据库会分别创建三个文件:表结构、表索引、表数据空间。我们可以将某个数据库目录直接迁移到其他数据库也可以正常工作。 然而当你使用InnoDB的...
分类:
数据库 时间:
2014-08-15 09:36:30
阅读次数:
296
简单介绍:最近有人在问我,说mysql5.6既然已经支持了Innodb的全文索引了,为什么依然有人在使用sphinx这样的软件针对mysql数据库呢.第一:目前仍然后很多公司在使用mysql5.5,针对innodb存储引擎则需要全文索引的软件来帮忙第二:mysql并不是一款中国人开发的服务,因此对中文..
分类:
其他好文 时间:
2014-08-14 16:59:19
阅读次数:
237
日志缓冲必须被刷新持久化存储,以确保提交的事务完全被持久化了,如果和持久化相比更在乎性能,可以修改innodb_flush_log_at_trx_commit变量来控制日志缓冲拴心的频繁程度,可能的设置如下:0 把日志缓冲写到日志文件,并且每秒钟刷新一次,但是事务提交时不做任何事。1 将日志缓冲写到...
分类:
其他好文 时间:
2014-08-14 08:11:08
阅读次数:
159
innodb变更任何数据时,会写一条变更记录到内存日志缓冲在缓冲满的时候,事务提交的时候或者每一秒钟innodb都会刷写缓冲区的内容到磁盘日志文件如果有大事务,可以增加日志缓冲区(默认1MB)大小可以帮助减少ioinnodb_log_file_size 控制日志缓冲区的大小通常不需要把日志缓冲区设置...
分类:
其他好文 时间:
2014-08-14 08:10:48
阅读次数:
298