哪个 MySQL 数据库引擎更适合存储会话和会话数据:MyISAM 还是 InnoDB?

Posted

技术标签:

【中文标题】哪个 MySQL 数据库引擎更适合存储会话和会话数据:MyISAM 还是 InnoDB?【英文标题】:Which MySQL database engine is better for storing sessions and session data: MyISAM or InnoDB? 【发布时间】:2011-03-22 12:36:03 【问题描述】:

很简单的问题。

出于几个原因,我将 InnoDB 用于其他一切。对于“高流量”表来说,它是否对 MyISAM 造成了性能打击?

【问题讨论】:

@Charles,MEMORY 是一个不错的选择,因为它比其他任何东西都快。唯一的问题是会话数据不会在 mysql 重新启动之间持续存在。 @Greg: MEMORY = MEMORY :-) @Chris,虽然这是真的,但生产环境中不应发生 MySQL 重启。 您还需要定义“高流量”。我见过一个网站,在 MyISAM 表中有超过 6000 个活动会话,并且没有出汗。 @Charles,迈克——谢谢!我什至没有考虑到这一点。 @staticsan:恐怕我现在不能在上面输入数字。 【参考方案1】:

由于您正在查看相当均匀的读/写流量组合,因此 InnoDB 是更好的选择。 MyISAM 对每次写入的全表锁定可能是谋杀。 MyISAM 在 90% 以上的读取或 90% 以上的写入情况下表现更好。

我相信High Performance MySQL中提到过

【讨论】:

以上是关于哪个 MySQL 数据库引擎更适合存储会话和会话数据:MyISAM 还是 InnoDB?的主要内容,如果未能解决你的问题,请参考以下文章

mysql 统计行数count(*)

mysql中会话和进程如何查询

mysql pdo 事务和会话存储

在mysql中存储会话

我应该在 CodeIgniter 中使用哪个会话库?

MySQL索引事务及存储引擎