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 - 从我的本地主机 PHP 应用程序连接到 VM 上的 Redis

python - 执行 Sql 脚本返回 "None"

php - 从 mySQL JOIN 语句返回重复值。帮助?

jquery - 如何让 'simple tip' jQuery 在 Ajax 加载的页面上工作?

php - Ajax 使用 PHP 发送 JSON 并获取数据

php - 升级到 Debian Jessie 后 : Random mod_fcgid errors

php - 将相同的元素压入数组 x 次

PHP 用小数计算

php 管理员和用户帐户不起作用

java - 使用 DISC 框架的 weblogic portlet 的 AJAX 消费