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