Итерация результата PDO

#php #oracle #pagination #pdo

#php #Oracle #разбивка на страницы #pdo

Вопрос:

Я использую PDO для сервера Oracle и извлекаю результаты запроса в класс коллекции, который можно повторять. Я делаю это, потому что многие результирующие наборы чрезвычайно велики и потребляли бы слишком много памяти, если бы я просто использовал fetchAll() . Теперь я хочу реализовать разбивку на страницы, но я не уверен, как это сделать, не повторяя коллекцию до нужной записи и отбрасывая все перед ней. Это кажется очень неэффективным и в целом плохим дизайном. Есть ли какой-либо способ сделать то, что я хочу, без ненужного извлечения и удаления ненужных записей? Является ли ограничение запроса единственным способом?

Ответ №1:

Да, вы должны реализовать разбивку на страницы до этого, на этапе SQL-запроса. В противном случае нет ничего лучше, чем повторять и отбрасывать (что действительно ужасно).

Комментарии:

1. Это то, что я понял. Спасибо.