我正在创建一个类似messenger的应用程序,我只是想问一下循环一个从mysql查询数据的ajax,为我的消息更新数据是明智的吗?我希望每次有来自发送方的新消息时都更新页面数据,接收方将接收数据而不重新加载页面,我的方法是循环ajax查询,从sql表中获取接收方或发送方的所有消息。问题2。这会影响数据库的性能吗?问题3。还有别的办法吗?我现在正在使用php。谢谢您!
v64noz0r1#
对于一些用户来说,没问题。如果你有超过,比如说,10000个用户坐在这个循环中,你可能会开始闻到数据库服务器冒出的烟味。对于大规模部署,我认为您需要一些ajax、php和mysql领域之外的“推送”技术。一个ajax调用将导致web服务器看到请求,并将其交给php作为web服务器的“子级”启动;然后是php连接到mysql执行查询,然后php回复ajax,它要么发布消息要么再休眠一秒钟;同时,mysql和php关闭。这需要很多步骤;我不确定哪一部分最差。但是,假设所有东西都在一台机器上运行,那么它将支持多少用户是有限制的。
1条答案
按热度按时间v64noz0r1#
对于一些用户来说,没问题。如果你有超过,比如说,10000个用户坐在这个循环中,你可能会开始闻到数据库服务器冒出的烟味。
对于大规模部署,我认为您需要一些ajax、php和mysql领域之外的“推送”技术。
一个ajax调用将导致
web服务器看到请求,并将其交给
php作为web服务器的“子级”启动;然后是php
连接到mysql
执行查询,然后
php回复
ajax,它要么发布消息要么再休眠一秒钟;同时,mysql和php关闭。
这需要很多步骤;我不确定哪一部分最差。但是,假设所有东西都在一台机器上运行,那么它将支持多少用户是有限制的。