php - 重复 mysql 获取导致 php 资源使用率较高

标签 php mysql ajax web

在我的 Php 页面中,我使用 Ajax 重复检查新的更新/插入,这导致资源使用率很高。我用于通知的一个代码如下。

$sql = "SELECT * FROM Notification WHERE user_id='$_GET[user_id]'";
  $count=mysqli_query($conn, $sql);  
  $cnt=mysqli_query($conn, $count);                                   
  $ct=mysqli_num_rows($cnt);

聊天页面中使用的类似 mysql fetch 会导致服务器错误(超过 50 个用户发送消息并向数据库插入数据,因此有很多行,而且共享主机上的应用程序)。 当新数据插入或更新到数据库时,如何避免定期检查并获取数据?

最佳答案

您没有说明表中有多少数据。造成该问题的可能原因有多种

1) 此查询返回大量记录 -​​ 对于活跃用户来说很有可能 2)您在 user_id 列上没有索引,这意味着昂贵的查询

您可能只需要询问自上次询问以来的数据,这会更有效

关于php - 重复 mysql 获取导致 php 资源使用率较高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46251803/

相关文章:

php - 数据表长出容器DIV

mysql - 如何在 Rails 中使用 ActiveRecord::Base 运行源命令

python - 从 python 验证 sql 数据库时出错

mysql - Xeround 停产 - 2 周寻找替代品

javascript - 打印警报框以响应 yii2 中的 ajax 调用

javascript - 单击下拉列表中的按钮而不关闭它时触发 AJAX 操作

php - 如何在运行不同 php 版本的服务器上安装 Laravel

PHP $全局 |安全查询

javascript - 用 PHP 加密,用 Javascript 解密(cryptojs)

javascript - 如何通过jquery ajax提交checkbox?