ФорумРазработкаБазы данных → Лимит, глубокая выборка)

Лимит, глубокая выборка)

  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz Сен. 24, 2011, 10:17 п.п., спустя 48 секунд

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

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Сен. 24, 2011, 10:41 п.п., спустя 24 минуты 56 секунд

    нубяры xDDDD
    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Сен. 25, 2011, 1:12 д.п., спустя 2 часа 30 минут 9 секунд


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

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz Сен. 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
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz Окт. 2, 2011, 1:12 д.п., спустя 6 дней 13 часов 49 минут

    если список юзеров на не надо фильтровать по другим критериям можно прямо каждому проставить на какой они странице, пиздануть индекс и дело в шляпе…
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Окт. 2, 2011, 9:54 д.п., спустя 8 часов 42 минуты 14 секунд

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

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz Окт. 2, 2011, 1:27 п.п., спустя 3 часа 32 минуты 43 секунды

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

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Окт. 2, 2011, 4:24 п.п., спустя 2 часа 57 минут 29 секунд

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

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz Окт. 2, 2011, 6:45 п.п., спустя 2 часа 21 минуту 11 секунд

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

    Сообщения: 21 Репутация: N Группа: Адекваты

    Spritz Дек. 17, 2011, 7:37 д.п., спустя 75 дней 12 часов 51 минуту

    партишены в помощь
  • Palatin

    Сообщения: 1 Репутация: N Группа: Кто попало

    Spritz Янв. 1, 2012, 9:14 п.п., спустя 15 дней 13 часов 37 минут

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


    И при изменении данных каждый раз чистить кеш?
  • arvitaly

    Сообщения: 292 Репутация: N Группа: Адекваты

    Spritz Янв. 1, 2012, 10:52 п.п., спустя 1 час 37 минут 38 секунд

    Есть смысл сделать дополнительное поле - sequence, которое будет всегда содержать последовательные числа, ==>

    ID sequence
    1 1
    3 2
    5 3
    10 4

    Теперь чтобы достать данные для любой страницы задаем интервал для sequence, а не лимит, и обычный индекс тут будет рулить
    Спустя 33 сек.
    А при изменении таблицы пересчет sequence выполняется одним запросом очень быстро
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz Янв. 1, 2012, 11:08 п.п., спустя 15 минут 42 секунды

    arvitaly, ага, просто пиздато будет делаться перезапись:
    1. Миллиона строк
    2. Перезапись индекса.
    И особенно круто это будет если изменения происходят не один раз в день.
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz Фев. 24, 2012, 12:01 д.п., спустя 53 дня 53 минуты

    Если нет номеров страниц, можно фильтровать по последней выбранной записи так, что бы всегда выбирать первые n записей. Юзверь посмотрит десяток страниц и можно будет закэшить с определёнными параметрами сортировки и фильтрации выборку и потом показывать страницы ))

Пожалуйста, авторизуйтесь, чтобы написать комментарий!