LINUX.ORG.RU

Что Вы скрываете?


0

1

Толи это баг, то ли у меня руки кривые, то ли здесь пахнет всемирным заговором.

Рассмотрим, к примеру, профиль Шамана http://www.linux.org.ru/people/Shaman007/profile. Белым на черном написано:

«Первая созданная тема: 09.11.2002 16:13:30»

Меня заинтересовало какие же темы и где, создавал Шаман, когда он был маленьким и еще не делал вид добропорядочного буржуа (были ли такие времена?). Легкий поиск показывает, что сохранились темы сделанные шаманом только с 2007 года.

http://www.linux.org.ru/people/Shaman007/?offset=200

Так и должно быть?

То же с комментариями, в профиле написано что первый комментарий 12.10.2002, а по сообщениям 15.12.2002.

Что это получается, Шаман был злостным нацпольщиком и все его треды терли?

★★★★

Последнее исправление: RCV (всего исправлений: 4)

Шома тогда еще только учил русский язык, поэтому там было намного больше ошибок, чем сейчас. А так как он модератор, решили потереть эти треды.

mopsene ★★★
()

Что Вы скрываете?

wake up Neo
the matrix has you

Umberto ★☆
()

Что это получается, Шаман был злостным нацпольщиком и все его треды терли?

Дык это у них постгрес тормозит. The world's most advanced open-source database, фигле.

gods-little-toy ★★★
()
Ответ на: комментарий от fedor

Мы слишком стары, чтобы выставлять это напоказ, лол.

wbrer ★★★
()

Тема от 09.11.2002 16:13:30 ? Нет, не слышал. Да и какая разница ?

Anvladislavmf ★★
()
Ответ на: комментарий от anonymfus

Мне казалось, что дата регистрации - очевиднейшая вещь на форуме, существующая с его появления. И невозможно же следить за всеми темами, чтобы быть в курсе всех тонкостей.

fedor
()

Грехи по убийству и «убийству» людей, как это бы не звучало странно, каюсь/пью, но машину времени не придумали (пока вроде). :(

amorpher ★★★★★
()
Ответ на: комментарий от feinsbot

09.11.2002 16:13:30: QT 3.1.0 вышел

Как? Для моих коварных планов по захвату мира, очень нужен метод поиска всех сообщений и комментариев пользователя.

RCV ★★★★
() автор топика

база не может делать эффективно запросы с большим offset. В других местах (новости, форум и т.п.) это решено через архив по месяцам (выборка по диапазону времени работает быстро), для сообщений пользователя это не сделано.

maxcom ★★★★★
()
Ответ на: комментарий от moscwich

http://www.postgresql.org/docs/9.0/static/queries-limit.html

The rows skipped by an OFFSET clause still have to be computed inside the server; therefore a large OFFSET might be inefficient.

На практике у него есть несколько алгоритмов для обработки LIMIT/OFFSET с ORDER BY:

  • Когда есть индекс по которому можно выбирать данные из БД в нужном порядке и оптимизатор решает его использовать. Тогда база выбирает все до OFFSET и выбрасывает это, а потом остальное выдает в запрос и потом его останавливает.
  • Когда с индексом не вышло и LIMIT+OFFSET > N (т.е. при большом OFFSET; фактическая величина N зависит от разных условий). База фактически делает полную выборку и ее пересортировку, а уже из нее вырезается запрошенное. Если выборка большая, то она дампится на диск в процессе.
  • Когда с индексом не вышло и LIMIT+OFFSET < N. База создает буфер в памяти под N записей, после этого делается полная выборка, но результаты пишутся сразу в буфер, вытесняя оттуда записи прямо в процессе (так называемый «top-n sort»). Фактически это оптимизация предыдущего метода, при которой не нужно много памяти (и дампа на диск) и отдельного этапа сортировки

На практике все эти методы заведомо медленее выборки по дате. Второй метод это вообще абсолютное зло которого надо избегать

maxcom ★★★★★
()
Ответ на: комментарий от maxcom

Спасибо, правда я мало чего понял ;)
Хотя вообще, мне кажется, все и так должно быть в таблице отсортированно по дате (ну почему еще сортировать-то?), ну и соответственно чем больше автоинкрементный id, тем позже создано сообщение. Вроде бы оно так и еть, но тогда без всяких ORDER BY в данном случае вреде-как должно быть.

moscwich
()
Ответ на: комментарий от moscwich

если postgres не справляется, попробуем solr

hizel ★★★★★
()
Ответ на: комментарий от maxcom

Может сделать такой архив для тем, но прозрачно для пользователя? Т.е. когда в текущем месяце со следующим смещением уже нет постов, то ссылка «следующие» будет переадресовывать на следующий месяц с постами.

feinsbot
()
Ответ на: комментарий от moscwich

Хотя вообще, мне кажется, все и так должно быть в таблице отсортированно по дате (ну почему еще сортировать-то?), ну и соответственно чем больше автоинкрементный id, тем позже создано сообщение. Вроде бы оно так и еть, но тогда без всяких ORDER BY в данном случае вреде-как должно быть.

Там много UPDATE'ов, так что физический порядок на диске совершенно случайный

maxcom ★★★★★
()
Ответ на: комментарий от hizel

почему для комментариев нет такого ограничения - www.linux.org.ru/show-comments.jsp?nick=Shaman007&offset=14000 ?

Не сделано, вернее сделано, но частично - ссылки такой на сайте нет. Будет светиться в топе медленных запросов - отключу.

maxcom ★★★★★
()
Ответ на: комментарий от feinsbot

Может сделать такой архив для тем, но прозрачно для пользователя? Т.е. когда в текущем месяце со следующим смещением уже нет постов, то ссылка «следующие» будет переадресовывать на следующий месяц с постами.

Да, вот это можно попробовать. Надо только уметь пропускать пустые месяцы, но это решаемо

maxcom ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.