作为 DBA,您必须管理磁盘 I/O 以防止 I/O 子系统变得饱和,并管理磁盘空间以避免填满存储设备。ACID设计模型需要一定数量的 I/O,这看似多余,但有助于确保数据可靠性。在这些约束下, InnoDB尝试优化数据库工作和磁盘文件的组织以最小化磁盘 I/O 量。有时,I/O 会被推迟到数据库不忙时,或者直到一切都需要达到一致状态时,例如在快速关闭后重新启动数据库期间。
InnoDB
本节讨论使用默认类型的 MySQL 表(也称为 InnoDB表)的 I/O 和磁盘空间的主要注意事项:
控制用于提高查询性能的后台 I/O 量。
启用或禁用以额外 I/O 为代价提供额外耐用性的功能。
将表格组织成许多小文件、几个大文件或两者的组合。
平衡重做日志文件的大小与日志文件变满时发生的 I/O 活动。
如何重组表以获得最佳查询性能。