PHP最佳数据库选择

3

我的项目是使用一些JQuery、PHP和MySQL实现的HTTP聊天应用。

JQuery实际上会每N秒钟轮询数据库,以检查我是否收到了新消息(从MySQL表中轮询)。

由于聊天室现在有超过100个连接,所以MySQL在N秒内会接收到100个请求。

有哪些最佳实践和数据库选择来优化它呢?(必须保持使用HTTP聊天,不能使用某些服务器套接字)

敬礼

PS.也许MYSQL不是一个好选择


他在哪里说他必须使用MySQL? - BenM
@HugoDozois:他说他正在使用MySQL。他说他必须使用HTTP。他没有说他必须使用MySQL。 - Amadan
如果您正在寻找速度,您可以利用像mongodb或cassandra这样的noSQL解决方案。 - jchapa
Cassandra会不会有点过度了?在这种情况下使用它的原因是什么? - Phil Rykoff
3
为什么你要把聊天记录往返于数据库中?使用基于Socket的NodeJS解决方案可能会在规模上更具响应性。http://nodejs.org/ - antman
3个回答

3

2

我建议使用MySQL,因为它非常轻量级。PHP和MySQL非常兼容。由于您将对数据库进行多次更新和读取,因此InnoDB引擎最适合这种情况。如果选择MyIsam,则可能会遇到问题,因为它只适用于一次性完成一个任务(更新或读取)。


为什么不使用Memory引擎呢?对于这种情况(选择MySQL),它不是完美的选择吗? - Phil Rykoff
是的,MyISAM在写入期间会锁定整个表,而InnoDB仅会锁定表中的行。 - Rimu Atkinson

1

研究一下内存数据库。聊天通常不是人们持久保存的内容;因此,临时数据库可能是最好的选择。例如,SQLite可以胜任

然而,我认为你应该更加担心你的Web服务器。 :)

有没有特别的原因不使用套接字?这种情况正是它们被创建的目的。(可能是由于不灵活的托管服务?)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接