单个大数据文件与每个表多个数据文件的 Innodb 的 MySql 性能
Posted
技术标签:
【中文标题】单个大数据文件与每个表多个数据文件的 Innodb 的 MySql 性能【英文标题】:MySql Performance of Innodb with single large data file vs. multiple data files per table 【发布时间】:2012-08-29 15:59:21 【问题描述】:通过在my.cnf
文件中设置以下内容,InnoDB 允许选择对所有内容使用单个数据文件或每个表使用一个数据文件:
[mysqld]
innodb_file_per_table
比较具有 20 个表的 8 个数据库,一个 60G 的单个 ibdata 文件与一个相当均匀分布在 160 个单独数据文件中的 60G 设置在一个表一个设置中,一个设置通常比另一个设置具有更好的性能吗?是否有任何考虑因素会支持一种方法而不是另一种方法?
【问题讨论】:
【参考方案1】:基准测试!我们不知道您的典型使用模式或查询类型(完整扫描?基于索引的狭窄查找?大量更新还是几乎只读?)。
innodb_file_per_table
更容易维护——例如清理优化单表后可以恢复磁盘空间;默认的 one-large-file 只会增长。
【讨论】:
大量读写,但就比率而言,可能是 20 比 1 的读写。我们没有专门的/经验丰富的 DBA,也不知道如何进行基准测试,只是希望有一个“经验法则”。 基准测试只需运行您的常规流量并测量您感兴趣的参数[对于某些人来说,这将是平均执行时间,对于其他人来说,每秒并发请求数系统可以处理的响应时间高达 x ms ].以上是关于单个大数据文件与每个表多个数据文件的 Innodb 的 MySql 性能的主要内容,如果未能解决你的问题,请参考以下文章