14.10.3 InnoDB Checkpoints InnoDB 检查点: 你的log files 变的很大可能会降低磁盘性能在checkpointing的时候, 它通常设置设置log files总的大小和buffer pool足够大或者甚至更大, 尽管在过去大的log files 可能会让crash recovery 花费过多的时间, 检查点如何处理工作: InnoDB 实现一个检查点机制称为fuzzy checkpointing. InnoDB flushes 修改的database pa…
14.10 InnoDB Disk IO and File Space Management InnoDB 磁盘IO和文件空间管理: 14.10.1 InnoDB Disk I/O 14.10.2 File Space Management 14.10.3 InnoDB Checkpoints 14.10.4 Defragmenting a Table 14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 作为一个DBA,你必须管理disk I/O…
14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构 一个InnoDB 表的物理行结构取决于在创建表指定的行格式 默认, InnoDB 使用Antelope file format 和它的COMPACT 行格式. REDUNDANT format 是可用的来保持兼容性和MySQL 老的版本. 当你启用 innodb_file_per_table setting, 你也可以使用新的Barracuda file format, 使…
14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例 下面的例子演示了一个错误可以发生当一个lock 请求会导致一个死锁,例子设计2个客户端,A和B: Jekins:/root# mysql -uroot -p1234567 -e"SHOW ENGINE INNODB STATUS\G;" | grep -i dead Warning: Using a password on the command line interface can b…
14.5.5 Deadlocks in InnoDB 14.5.5.1 An InnoDB Deadlock Example 14.5.5.2 Deadlock Detection and Rollback 14.5.5.3 How to Minimize and Handle Deadlocks 死锁是一种情况 不同的事务是不能处理 因为每个持有的lock 是其他会话需要的. 因为所有事务都是等待一个资源变得可用,两者都不释放它持有的锁 一个deadlock 可以发生 当事务锁定记录在多个表(…
14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新: innodb_flush_neighbors and innodb_lru_scan_depth 配置选项 让你微调flush处理的某些方面 对于InnoDB buffer pool.那些选项主要帮助密集写负载.对于大量的DML 活动, flush可能落后 如果它不够积极,导致在缓冲池过度使用 或者 写磁盘由于flush 可以侵蚀你的I/O能力 如…
14.4.3.5 Configuring InnoDB Buffer Pool Flushing 配置InnoDB Buffer Pool 刷新: InnoDB执行某些任务在后台, 包括flush 脏数据(那些页已经被修改了但是没有会写到磁盘) 在Buffer pool 里. InnoDB flush buffer pool pages 如果脏页的比例在buffer pool 已经大于或 innodb_max_dirty_pages_pct.者等于innodb_max_dirty_pages_p…
14.8.11 Physical Structure of an InnoDB Index InnoDB Index 的物理结构 所有的InnoDB indexes 是 B-trees Index records 是存储在 树的叶子块,默认的index page 是16KB 当新的记录是被插入到InnoDB clustered index, InnoDB 尝试 预留1/6的page 空闲用于将来的插入和更新 index records. 如果Index records 是按顺序插入的(升序或者倒…
14.8.2 Role of the .frm File for InnoDB Tables InnoDB 表得到 .frm文件的作用 Vsftp:/data01/mysql/zjzc# ls -ltr Client.* -rw-rw---- 1 mysql mysql 10132 Oct 28 09:46 Client.frm -rw-rw---- 1 mysql mysql 16777216 Oct 28 09:47 Client.ibd MySQL 存储它的数据目录信息用于表在.frm文件…
14.7.1 Resizing the InnoDB System Tablespace InnoDB 系统表空间大小 这个章节描述如何增加或者减少 InnoDB 系统表空间的大小 增加InnoDB 系统表空间的大小 最初的方式增加InnoDB 系统表空间的大小是配置他从开始就自动扩展. 指定autoextend 属性 对于最后的数据文件在表空间定义时. InnoDB 自动的增加大小 增量为64MB 当它超出时. 增量大小可以通过 the innodb_autoextend_increment…