【发布时间】:2013-11-10 08:01:55
【问题描述】:
我正在将 myisam 表用于我正在构建的网站,因为它将主要是只读的。这就是为什么我认为 myisam 会更好。但是我将用户会话存储在数据库中......这意味着在每个页面请求上选择 + 更新会话表。因此,对于会话,我现在在表上有 1/1 读/写,如果我需要在会话中更新某些内容,则写入可能会更高。我应该为这样的表使用 innodb 吗?还是 1/1 读/写比率仍然是 myisam 没有问题的东西?该应用程序不会有高流量(尽管我什至不确定是什么定义了这种情况下的高流量)
【问题讨论】:
-
实际上我会说“两者都不是”:如果您担心性能,两者都太慢了。使用 MEMORY(引擎)或 Memcached/Redis(另一个具有内存存储的 RDBMS)。
-
您想对内置 PHP 会话不支持的会话做什么?
-
@RandomSeed ... 将它们存储在数据库中。这不是关于会话的问题,而是关于存储引擎的问题。会话是最好的例子,但它们并不是唯一一个你会得到像 1/1 这样的比率的情况。所以我们不要在这里跑题。
-
了解您的需求有助于提供与您的目的相关的建议。如果您只是想解决性能瓶颈,或者如果您想允许分布式会话,那么“最佳”存储引擎是不一样的。我的问题可能过于简洁和误导。
-
@RandomSeed 我想我的要求是应用程序每秒最多能够处理几十个用户。就会话而言,这个问题已经得到了很好的回答,但我有点想强调 1/1 读/写比率,而不是会话本身,因为与会话不同,在某些情况下不能使用与内存相关的解决方案,因为数据很重要,不应在服务器关闭时丢失。