Форум → Разработка → Базы данных → Лимит, глубокая выборка)
Лимит, глубокая выборка)
Страницы: ← Предыдущая страница →
-
Сен. 24, 2011, 10:17 п.п., спустя 48 секунд
Хотя вариант Алекса я б хотел увидеть в виде кода.
А вариант Статуса тоже не помешает, хотя, из того что я понял, получается какой-то бред. -
-
Сен. 25, 2011, 1:12 д.п., спустя 2 часа 30 минут 9 секунд
Да вы что ебнулись все, такую баянистую тему найти не можете
Хотя вариант Алекса я б хотел увидеть в виде кода.
http://habrahabr.ru/blogs/mysql/44608/ -
Сен. 25, 2011, 11:22 д.п., спустя 10 часов 10 минут 23 секунды
раскопал из старого, но это тоже самое что и говорит AlexB:вообще вместо limit n,m нужно:
1. отказаться от выбора страницы № пять тысяч шестьсот восемьдесят три, а оставить только первая - предыдущая - следующая - последняя
2. делать индексы по критериям отбора и id и отбирать вместо limit n, m -> where … and ld > lim order by …, id limit n -
Окт. 2, 2011, 1:12 д.п., спустя 6 дней 13 часов 49 минут
если список юзеров на не надо фильтровать по другим критериям можно прямо каждому проставить на какой они странице, пиздануть индекс и дело в шляпе… -
Окт. 2, 2011, 9:54 д.п., спустя 8 часов 42 минуты 14 секунд
но обычно нужно фильтровать - это раз. И новые записи ж все время добавляются - это два -
Окт. 2, 2011, 1:27 п.п., спустя 3 часа 32 минуты 43 секунды
Абырвалг, ну табличку сделать целую с сортировкой по страницам и т.п. или вообще сторед проц возможно можно написать.. -
Окт. 2, 2011, 4:24 п.п., спустя 2 часа 57 минут 29 секунд
как бы да, но у нас например для разных людей разный контент - накладываются ограничения то территории проживания и видам спорта, которые интересны -
Окт. 2, 2011, 6:45 п.п., спустя 2 часа 21 минуту 11 секунд
Абырвалг, ну еще никто не запрещал, ну например демонам инициировать запрос для кеширования данных, тогда вообще все будет быстренько работать даже с первым запросом. Ну это я наперед забежал если че))) -
-
Янв. 1, 2012, 9:14 п.п., спустя 15 дней 13 часов 37 минут
ну например демонам инициировать запрос для кеширования данных
И при изменении данных каждый раз чистить кеш? -
Янв. 1, 2012, 10:52 п.п., спустя 1 час 37 минут 38 секунд
Есть смысл сделать дополнительное поле - sequence, которое будет всегда содержать последовательные числа, ==>
ID sequence
1 1
3 2
5 3
10 4
Теперь чтобы достать данные для любой страницы задаем интервал для sequence, а не лимит, и обычный индекс тут будет рулитьСпустя 33 сек.А при изменении таблицы пересчет sequence выполняется одним запросом очень быстро -
Янв. 1, 2012, 11:08 п.п., спустя 15 минут 42 секунды
arvitaly, ага, просто пиздато будет делаться перезапись:
1. Миллиона строк
2. Перезапись индекса.
И особенно круто это будет если изменения происходят не один раз в день. -
Фев. 24, 2012, 12:01 д.п., спустя 53 дня 53 минуты
Если нет номеров страниц, можно фильтровать по последней выбранной записи так, что бы всегда выбирать первые n записей. Юзверь посмотрит десяток страниц и можно будет закэшить с определёнными параметрами сортировки и фильтрации выборку и потом показывать страницы ))
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!