Я потратил несколько часов на то, чтобы поиграть с этим, но пока безуспешно.
Я выводлю очень большой запрос и пытаюсь разбить его на куски перед обработкой данных.Этот запрос будет в основном выполняться каждый день, и одно из полей ('last_checked') будет использоваться для гарантии того, что одни и те же данные не обрабатываются более одного раза в день.
Вот мой существующий запрос;
<cfquery name="getprice" maxrows="100">
SELECT ID, source, last_checked, price
FROM product_prices
WHERE source='api'
ORDER BY ID ASC
</cfquery>
Затем я запускаю запрос cfoutput по результатам, чтобы выполнить различные обновления.В настоящее время таблица содержит чуть более 100 000 записей и начинает бороться за обработку всего одним попаданием, поэтому необходимо разбить ее на куски.
Мое намерение состоит в том, чтобы планировать его запуск так часто (увеличить максроу и, вероятно, запускать его каждые 15 минут, например).Однако мне нужно, чтобы он возвращал только результаты, которые не были обновлены в течение последних 24 часов - вот где я застреваю.
Я знаю, что MySQL имеет свои собственные функции DateDiff и TimeDiff, но я неКажется, что я не могу понять синтаксис для этого - если это действительно применимо для моего использования (документы кажутся противоречащими друг другу в этом отношении - или, по крайней мере, те, которые я читал).
Любойочень ценят указатели!