2

PyMySQLで実行している非常に単純なクエリがあります。

SELECT `id` FROM `records` ORDER BY `id` DESC

records150万を超える行があります。id主キーです。

これはPyMySQLの制限ですか?一度に非常に多くの行をクエリする場合、他に使用する必要があるものはありますか?

4

1 に答える 1

2

クエリをいくつかのより小さなクエリに分割できます。

from math import ceil

batch_size = 1000

for start_at in range(int(ceil(total_rows / 1000 * 1.0))):
    sql = 'SELECT `id` from `RECORDS` ORDER BY `id` DESC LIMIT %i, %i'
    sql = sql % (start_at * batch_size, batch_size)
    # fetch rows
于 2012-11-01T00:05:50.187 に答える