Пуля — дура. Пых — молодец.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 04:22:02

Страниц: 1 [2] 3
Печать
Автор Тема: Лимит, глубокая выборка)  (Прочитано 582 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Ivan    ↓ 
24 Сентябрь, 2011, 09:39:54
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 27
Сообщений: 1366
Сила слова: 1.98

Как вариант - продублировать таблицу вверх ногами
Что-то типа если X стремится к 0 больше чем к 70000, то выборку делать из первой таблицы, иначе из второй сверху
Память не экономим и больше напряга при записи, но зато сэкономишь эти 4 секунды
 
Еще вариант - разбиваешь таблицу на несколько таблиц, от 1 до 10000 в одну, от 10001 до 20000 в другую, потом в третью и тд
 
Глупости наверное, но может добавить скорости
Записан

Givi    ↓ 
24 Сентябрь, 2011, 10:15:45 , спустя 35 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

Ivan, оба твои варианта хуета какая-то.
Вообще достаточно было бы узнать некий идентификатор (если сортировка по дате, то и идентификатором будет "дата+реальный ID записи")  последней выбранной записи (то есть последней записи на актуальной странице) и после этого отправлять этот идентификатор гет-запросом ко второй странице, которая, по сути, делает выборку с четким лимитом 30 записей от указанного нами идентификатора.
 
Проблема будет в том, что по сути для добавлении в базу очередной записи все "постраничные" ссылки будут изменять адреса, то есть Гугль будет теряться. А вот пользователю по большей мере похуй. И даже отчасти хорошо - его ссылка всегда будет вести именно на тот список записей, который он видел и неделю назад. А в случае с большинством примеров из стандартной пагинации список записей на конкретном номере страницы со временем постоянно меняется.
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
vasa_c    ↓ 
24 Сентябрь, 2011, 10:16:13 , спустя 28 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

Как вариант - продублировать таблицу вверх ногами
Сортировку может просто в другую сторону делать?
Записан

Givi    ↓ 
24 Сентябрь, 2011, 10:17:01 , спустя 48 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

Хотя вариант Алекса я б хотел увидеть в виде кода.
А вариант Статуса тоже не помешает, хотя, из того что я понял, получается какой-то бред.
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
phpdude    ↓ 
24 Сентябрь, 2011, 10:41:57 , спустя 24 минуты 56 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66

нубяры xDDDD
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
AlexB    ↓ 
25 Сентябрь, 2011, 01:12:06 , спустя 2 часа 30 минут 9 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3427
Сила слова: 2.6


Хотя вариант Алекса я б хотел увидеть в виде кода.
Да вы что ебнулись все, такую баянистую тему найти не можете
http://habrahabr.ru/blogs/mysql/44608/
Записан

Status    ↓ 
25 Сентябрь, 2011, 02:47:07 , спустя 1 час 35 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

Редкостная сволочь
Группа: Джедаи

Карма: 57
Сообщений: 1447
Сила слова: 3.94

не понял, покажи как это в коде
Да принцип тот же что и в статье привязка к идешнику
Записан

Заткнись говно, я воевал!
disc    ↓ 
25 Сентябрь, 2011, 11:22:29 , спустя 8 часов 35 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 37
Сообщений: 844
Сила слова: 4.38

раскопал из старого, но это тоже самое что и говорит AlexB:
вообще вместо limit n,m нужно:
1. отказаться от выбора страницы № пять тысяч шестьсот восемьдесят три, а оставить только первая - предыдущая - следующая - последняя
2. делать индексы по критериям отбора и id и отбирать вместо limit n, m -> where ... and ld > lim order by ..., id limit n
Записан
kostyl    ↓ 
02 Октябрь, 2011, 01:12:20 , спустя 6 дней 13 часов 49 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

если список юзеров на не надо фильтровать по другим критериям можно прямо каждому проставить на какой они странице, пиздануть индекс и дело в шляпе...
Записан

качество жизни обратно пропорционально количеству лени
Абырвалг    ↓ 
02 Октябрь, 2011, 09:54:34 , спустя 8 часов 42 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

но обычно нужно фильтровать - это раз. И новые записи ж все время добавляются - это два
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
kostyl    ↓ 
02 Октябрь, 2011, 01:27:17 , спустя 3 часа 32 минуты 43 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

Абырвалг, ну табличку сделать целую с сортировкой по страницам и т.п. или вообще сторед проц возможно можно написать..
Записан

качество жизни обратно пропорционально количеству лени
Абырвалг    ↓ 
02 Октябрь, 2011, 04:24:46 , спустя 2 часа 57 минут 29 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

как бы да, но у нас например для разных людей разный контент - накладываются ограничения то территории проживания и видам спорта, которые интересны
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
kostyl    ↓ 
02 Октябрь, 2011, 06:45:57 , спустя 2 часа 21 минуту 11 секунд
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

Абырвалг, ну еще никто не запрещал, ну например демонам инициировать запрос для кеширования данных, тогда вообще все будет быстренько работать даже с первым запросом. Ну это я наперед забежал если че)))
Записан

качество жизни обратно пропорционально количеству лени
PandoraBox2007    ↓ 
17 Декабрь, 2011, 07:37:37 , спустя 75 дней 12 часов 51 минуту 40 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 21
Сила слова: 0

партишены в помощь
Записан

Palatin    ↓ 
01 Январь, 2012, 09:14:47 , спустя 15 дней 13 часов 37 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 1
Сила слова: 0

ну например демонам инициировать запрос для кеширования данных

И при изменении данных каждый раз чистить кеш?
Записан
Страниц: 1 [2] 3
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd