Будет однозначно, потому что запрос можно представить в виде
SELECT * FROM table WHERE cat=number AND pos IN (...)
а тут нет ни лимита, ни сортировки, потому быстрее 100% будет
Так смотрите, у вас есть номер последней новости в данной категории. Значит если у вас 30 новостей на странице и вам надо выбрать например новости на 30 странице.
То вы у вас получается
SELECT * FROM table WHERE cat=number AND (pos<=A AND pos>B)
где
A = номер_последней_новости_категории - (страница-1)*количество_новостей_на_странице
B = номер_последней_новости_категории - страница*количество_новостей_на_странице
Так как количество новостей на странице не сильно велико, то запрос легко превратить в
Причем если новость удалять раньше чем пересчитывать номера новостей для категории, то можно еще и создать уникальный составной индекс для сat и pos.
Вам надо выбирать записи, но не зная позиции вы выбираете нужное количество с нужного места, используя limit.
А если бы у вас было еще одно поле где новости были пронумерованы в порядке возрастания для каждой категории. То вы бы сразу выбирали бы новости по номеру в данной категории. При этом limit абсолютно ненужен, сортировка по id тоже.
По сути это напоминает то-же автоинкремент, только для категории, и позицию проставляете вы при добавлении новости а не база. Только единственное отличие что при удалении новости у вас не должно быть разрывов нумерации.
а это решается при удалении новости одним запросом, примерно такого вида
UPDATE table SET pos=pos-1 WHERE cat=number AND id>del_id
Лучше рукоплещите 😂
Ну если у вас такой код что при добавлении одного поля в таблицу, и по одному запросу на добавление и удаление новости, надо переписывать структуру и CMS, то грош цена и коду и CMS 😂
Оптимальный вариант, это делать избыточность при добавлении данных.
Как на меня, в данном случае это не критично.
Если не заводить шарманку, про поддержку старья и прочее, то это делается легко
http://htmlbook.ru/css/column-count
Конечно уважаемый, продолжайте и дальше морочить людям голову.
Ни структуры таблицы не показали, ни explain запроса из первого поста.
И правильно, зачем, пусть телепаты напрягаются.
5 страниц рассуждений о сферическом коне в вакууме
А explain что показывает?
З.Ы. вообще такое чувство что у вас на каком-то поле висит фултекст индекс
На id какой индекс стоит?