Пагинация в API при нескольких таблицах
Возникла небольшая проблема, пока нет идей как это решить. (UNION, JOIN, Декартово произведение - плохие идеи) :)
Проблема: При реализации rest api на определенной точке идет запрос на поиск в базе по параметру, причем поиск ведется по нескольким таблицам. Будем считать, что общее число таблиц N, а общее число записей в некоторых таблицах может быть достаточно велико, чтобы разом запрашивать все записи
Это было бы просто, не будь таблиц N-ое количество, каждая из которых содержит разное количество разных столбцов.
Таким образом, у имеется база в которой необходимо произвести поиск по параметру и найти совпадения в каждой из таблиц. Но вывод нужно разбить по лимиту 10 записей, если лимит добавлять в каждый из запросов, то в общем будет не 10, а 10 * [Количество страниц].
Нужно как-то объединить все таблицы для удобства и брать по limit = 10, но операция объединения происходит тоже долго, если записей много.