在启用 InnoDB 数据库之前,服务器或数据库管理员应该了解和做哪些事情。
我正在考虑为innodb_buffer_pool_size
和设置正确的值innodb_log_file_size
那么,您可能会忘记配置哪些简单的项目,从而导致使用数据库的应用程序无法达到最佳运行效果?
答案1
在开始之前您应该仔细考虑一些配置选项。
只要您根本不使用 myisam,您就可以安全地分配几乎所有的max_connections
内存(保留足够的内存以使您的操作系统舒适运行,并足够您的)innodb_buffer_pool
。 InnoDB 的优点在于它自己处理几乎所有的内存,无需单独处理查询缓存、密钥缓冲区等内容。
我建议您启用innodb_file_per_table
,因为它使浏览文件系统并查看不同表和数据库需要多少空间变得更加容易。您仍然需要一个通用的 ibdata 文件供 InnoDB 内部使用,但您可以将其定义为10M:autoextend
。无需定义许多具有预分配大小的不同 innodb 数据文件。
innodb_log_file_size
innodb_log_buffer_size
如果你有很多大对象,那么它们加起来必须比你最大的 blob 对象大 10 倍。如果你没有(你不应该这样做)1,2]),其实没必要太过担心。检查MySQL 性能博客以获取有关如何计算的详细报告。
当你运行 MySQL 一段时间后,使用以下命令检查你的设置MySQLTuner或者MySQL 调优入门。
答案2
让我有点“惊讶”的是,innodb 默认对所有数据库/表使用一个文件。而 MyISAM 表则对每个数据库使用一个目录,对每个表/表索引使用一个文件。
如果您习惯按表缩小物理文件(优化表 xxx),那么这可能很重要