php - 一次处理行

标签 php mysql

<分区>

假设我有一个超过 100 万行的 mysql 表。我想选择表中的所有行并单独处理每个条目。防止内存不足的最佳方法是什么?

也许使用 limit 一次选择几行?

while ( true) {
   $q= query("SELECT * FROM table LIMIT $start, $limit");

   // processs rows

   $start += $limit;

   sleep(1);
}

最佳答案

您需要使用 cursors .

网站上有非常好的 mysql 文档——例如,这可能是一个很好的起点

关于php - 一次处理行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24660144/

相关文章:

mysql - 更新集 = 从中选择

mysql - 如何在 MySQL 查询上运行它

mysql - 我是否需要有二级索引来改进查询?

php - 我应该索引我的 mysql 外键吗

php - Docker 从容器内部复制 Composer 供应商

php - 无法在 PHP 中设置 utf8 字符集

mysql - 如何从 LEFT JOIN mysql 表调用结果

php - 如何使整个表格单元格充当可点击的表单区域

php - 我在php上的用户定义的navigation()无法正常工作,我无法在代码中找到错误

mysql - Laravel DB raw 返回双倍总和