Я пытаюсь получить много записей из таблицы базы данных через API. Допустим, есть 1 миллион записей. У меня есть два варианта выполнения этого вызова:
ОПЦИЯ 1 : выборка всех в одном сетевом вызове
https://api.com/data?limit=1000000
ОПЦИЯ 2 : выборка в приращения по нескольким сетевым вызовам
В приведенном ниже примере используется Python для выборки записей с шагом 10 000 элементов (через 100 сетевых вызовов).
results = []
next_url = https://api.com/data?limit=10000
while True:
response = requests.get(next_url).json()
partial_results = response["results"]
results += partial_results
next_url = response["next"]
if not next_url:
break
С точки зрения производительности, один вариант считается «лучшей практикой», чем другие, или это зависит от ситуации (т. е. производительности сети, как обрабатываются данные на клиенте и т. д. c.)? Мне не хватает лучшего варианта?