我应该担心MySQL数据库的负载吗?

时间:2012-04-15 12:58:40

标签: mysql database load

我正在开发一个非常动态的网站并且不断使用MySQL数据库。我的问题是 - 我应该担心数据库的负载吗? 例如,该站点的一部分具有实时聊天,该聊天使用AJAX每秒为每个用户联系数据库。根据连接的用户数量,这是很多查询!

这是MySQL数据库可以处理的东西,还是我推动它?感谢。

1 个答案:

答案 0 :(得分:3)

你实际上在推动它。根据您的服务器和在线用户数量,MySQL可以在某些时候处理。

MySQL和其他数据库管理系统是数据存储系统,而您实际上并不存储数据!您只是通过MySQL在客户端之间发送数据,而且效率不高。

但为了加快速度,你可以使用MySQL内存表来获取即时消息,并在另一个MyISAM或InnoDB表中保存离线消息(将存储数据)

但拥有聊天基础设施的最佳方式是拥有一个后端应用程序,该应用程序将所有消息保留在内存中,并在一些限制后将未收到的消息作为脱机消息发送给MySQL。这与MySQL内存表非常相似,但您可以更好地控制数据。这个问题是你需要实现具有良好内存管理的逻辑和高效的数据结构,如果你不做商业产品这是一项非常艰巨的任务,如果你不考虑销售该聊天系统则不必要,所以我建议使用MySQL我描述的内存表。

更新
Mysql内存表是易失性的(将在服务/服务器重启时重置),因此不要将其用于存储,仅用于在短时间内保存数据以用于即时消息。