我的数据库中有这么多值

so many values in my DB

我的数据库 table 中有 4,000,000 行,我如何处理它们 100 by 100?

SQL服务器中你可以使用OFFSET FETCH.

在下面的示例中,它将 select 100 行从 0 (1-100) 开始。如果您想 select 接下来的 100 行 (101-200),您可以更改为 OFFSET 100

SELECT * FROM YourTable
ORDER BY Id
OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY
SELECT * FROM YourTable
ORDER BY Id
LIMIT 0,100

和下一个电话

SELECT * FROM YourTable
ORDER BY Id
LIMIT 100,100

然后是

SELECT * FROM YourTable
ORDER BY Id
LIMIT 200,100

当然,不要在代码中重复查询 10 000 次,而是将其放入 for 循环中。

由于您的问题是用 Drupal 标记的,我假设您想要一个 drupal 答案。
您可以使用函数 db_query_range.
例如。

$result = db_query_range('SELECT n.nid, n.title, n.created
  FROM {node} n WHERE n.uid = :uid
  ORDER BY n.created DESC', 0, 100, array(':uid' => $uid));
foreach ($result as $record) {
  // Perform operations on $record->title, etc. here.
}