【发布时间】:2012-02-27 08:11:35
【问题描述】:
我正在开发一个我希望使用 SQL 数据库的聊天应用程序。
我的问题是,经过几次谷歌搜索后,有人从一个站点告诉我,使用数据库会比使用普通文件(例如文本或 JSON 文件)慢得多,但是在其他一些站点上,人们说的完全相反。我不了解你们,但在为用户创建 Web 应用程序时,用户永远是第一位的。
尽管我很喜欢使用 SQL DB,但 1.) 我对它有很好的经验,2.) 它让我可以让应用程序更酷(更多功能)。但如果它会减慢用户端的速度(明显的滞后),那么它是不行的。
无论哪种方式,我都会使用 AJAX 和 PHP 持续“轮询”服务器以检查文件/数据库(对于新消息、联系请求等)。
此外,如果您想知道,该应用程序不会像一对一聊天,它将有多个用户可以加入并与所有加入的用户交谈的“房间”。用户还可以请求与另一个用户进行“私人聊天”,打开一对一连接。
那么,就性能而言,MySQL 数据库还是无聊的 TEXT/JSON/OTHER 文件?
哦,还有一件事,我不想使用任何第三方库或 API。讨厌依赖别人的工作(被辜负了很多次)。
【问题讨论】:
-
你的东西是不是像IRC一样工作,也就是你加入后才能看到发送的消息?
-
是的。我正在考虑这样做的方式是,每个“房间”都会在表格中有一行,其中一列包含当前在房间中的用户的所有用户 ID。并且在每次 AJAX 调用中,如果用户 ID 位于
random_room中,那么他们将检查该房间中的新消息,依此类推... -
据说不是工具,但正确使用会提高性能。
标签: php mysql ajax chat chatroom