【发布时间】:2016-08-31 11:02:52
【问题描述】:
我做了这个 javascript/php/mysql,2 个用户,聊天。它每 3 秒请求(ajax)带有消息的 php 文件并更新页面。 php查询数据库:
SELECT * FROM tmessagges WHERE author='Jack' OR author='John'
我可以优化这个吗?
我认为优化的第一件事是在没有新消息时浪费所有请求,但我不确定是否值得...... 可能只选择 id 或计数,只有在有新消息时才发出第二个请求。
SELECT id FROM tmessagges WHERE author='Jack' OR author='John'
或
SELECT COUNT(id) FROM tmessagges WHERE author='Jack' OR author='John'
如果有新消息,则为第一个查询。
值得吗?因为cpu使用率和我想的差不多,只是流量少了……
或其他优化方式?
【问题讨论】:
-
优化...如何?你想达到什么目的?减少滞后?更高的吞吐量?更少的数据库开销?每秒更多的操作?分辨率更高?卡路里更少?都不是?不止一种?
-
我认为流量、服务器 CPU/内存、数据库流量。每 3 秒查询一次对我来说似乎很昂贵......我还没有在真实服务器上测试它,同时如果它可以优化......
-
您可能会过早地尝试过度优化。如果遇到瓶颈,请获取一些数据。使用分析工具,例如 xhprof 或 xdebug 的分析模式。另一方面,确保您在数据库中有正确的索引,并且您的查询会很快:)。
标签: javascript php mysql optimization chat