14.12 InnoDB 磁盘 I/O 和文件空间 Management

作为 DBA,您必须 Management 磁盘 I/O 以防止 I/O 子系统饱和,并 Management 磁盘空间以避免填满存储设备。 ACID设计模型需要一定数量的 I/O,这些 I/O 似乎是多余的,但有助于确保数据的可靠性。在这些限制内,InnoDB尝试优化数据库工作和磁盘文件的组织,以最大程度地减少磁盘 I/O 的数量。有时,I/O 会推迟到数据库不忙之前,或者直到所有内容都需要进入一致状态为止,例如在fast shutdown之后数据库重新启动期间。

本节讨论默认类型的 MySQLtable(也称为InnoDBtable)对 I/O 和磁盘空间的主要注意事项:

  • 控制用于提高查询性能的后台 I/O 数量。

  • 启用或禁用以额外的 I/O 代价提供额外耐用性的功能。

  • 将 table 组织成许多小文件,一些大文件或两者的组合。

  • 使重做日志文件的大小与日志文件已满时发生的 I/O 活动保持平衡。

  • 如何重组 table 以获得最佳查询性能。