ааааа жесть. индекс на user_id кто будет ставить?!
Анатолий Цивилёв, ну вы если беретесь отвечать, то хотя бы минимальные знания по вопросу должны быть? Тут же в EXPLAIN черным по белому написано что индекса нет.
Сама идея с постраничной навигацией без рисования ссылок на все страницы - спорная, но имеет право на существование.
Я только хочу обратить внимание на вопрос про "ускорение". Если rowCount считается путем запроса всех записей из БД, то конкретно этот запрос ускорить просто. Вместо того, чтобы создавать чудовищную нагрузку запросом SELECT * FROM table выбирая ВСЕ СТРОКИ ЦЕЛИКОМ, нужно запрашивать только количество, запросом SELECT count(*) FROM table.
hooligan377, эту очень плохие примеры, они устарели лет на 10. Помимо всего прочего, там не показано, как сохранить результат запроса в переменную. Отсутствует аналог mysql_fetch_assoc(), когда используются подготовленные выражения. Что делает эти примеры бессмысленными.
Работать-то этот код должен, но смысла в нем - ноль. Особенно учитывая что автор потом пытается разбить единый массив обратно на строки. И потом сравнивать их. Из автора надо как-то выбить изначальную задачу, которую он решает. Я не знаю, как это сделать, поскольку он молчит, как партизан на допросе, и вместо этого продолжает задавать вопросы, один другого бредовее.
Ахаха, это же бедолага Rezzsooo с ru.SO. Как я сразу не догадался. Такое умение задавать вопросы полностью противоположные решаемой задаче не часто встречается.
Максим Тимофеев, а это ничего что эти два куска кода выдают разный результат? :)
Я прям завидую слушателям ваших вебинаров. Судя по всему, это лучше чем камеди клаб.
Дмитрий, отлично. Давайте зафиксируем, что от технических вопросов мы переходим к субъективным предпочтениям.
Чисто субъективно я предпочту явный цикл неявному, из-за лучшей читабельности.
О таких глобальных предпочтениях, как процедурное вместо функционального я бы не стал делать выводы на столь примитивном примере, но в целом, если уж говорить о субъективных предпочтениях - да, процедурное мне ближе.
Дмитрий, мне кажется, вы не совсем понимаете, о чем говорите. Вложенность в варианте с функциями никуда не делась, по памяти там тоже нет никаких преимуществ. А уж по части cognitive complexity простой цикл даст что очков форы той белиберде с подтанцовками, которая написана в соседнем ответе. Рассуждая о высоких материях, надо не забывать о том коде, который перед вами. И если уж вам приспичило порассуждать про генераторы, то вы должны быть готовы объяснить, какое преимущество они дадут при доступе к массиву, который уже существует и не дублируется в памяти.
Доооооо.
Я видел, как вы оптимизируете в соседнем вопросе.