[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск пропущенных чисел в таблице
Страницы: 1, 2, 3
FatCat
Цитата (Valick @ 12.07.2014 - 19:07)
Выбираем удаляемые топики (по условию ХХХ), а точнее находим ссылки на аттачи.

Очень долгий запрос - поле аттачей не индексированное.
С другой стороны, делать индекс еще и по этому полю, которым буду пользоваться не каждую неделю - считаю непозволительной роскошью.


Другой пример, когда мне потребовался перечень всех дырок. Облако тегов. Теги в другой таблице; связь один ко многим.
Мне потребовалось найти перечень статей без тегов. Самый простой путь - "дырки" в таблице тегов.


В общем, иногда возникает необходимость найти эти самые "дырки".

_____________
Бесплатному сыру в дырки не заглядывают...
Valick
FatCat, у вас аттач имеет только id сообщения?


_____________
Стимулятор ~yoomoney - 41001303250491
FatCat
Цитата (Valick @ 12.07.2014 - 20:10)
аттач имеет только id сообщения?

Да, айдишник сообщения есть в имени файла аттача.
Так же, как айдишник юзера есть в имени файла аватарки.

_____________
Бесплатному сыру в дырки не заглядывают...
Valick
FatCat, нет я имел ввиду, в таблице где указана принадлежность аттача сообщению, можно ввести поле id темы, небольшая денормализация
____
вот торможу, не надо этого ничего
просто все аттачи для темы должны храниться в отдельной директории, убиваем тему, убиваем папку и все равно кто там внутри.

_____________
Стимулятор ~yoomoney - 41001303250491
FatCat
Цитата (Valick @ 12.07.2014 - 21:50)
в таблице где указана принадлежность аттача сообщению, можно ввести поле id темы, небольшая денормализация

Это есть. Пробовал искать:
SELECT from posts WHERE attach_id != '' AND topic_id IN(...)
Поле topic_id проиндексированное.
Но это не спасает положения. Если в "IN()" перечислены 10-15 цифр - ищется очень быстро, доли секунды. Но если сотня цифр - поиск о-о-о-очень медленный.

Я несколько лет назад создавал тему об этом, в итоге разобрались общими усилиями, что конструкция с IN(...) при большом перечислении работает так медленно, словно поле не индексировано - баг sql.

_____________
Бесплатному сыру в дырки не заглядывают...
FatCat
Цитата (FatCat @ 12.07.2014 - 23:19)
Я несколько лет назад создавал тему об этом

Тема: http://phpforum.su/index.php?showtopic=14715

_____________
Бесплатному сыру в дырки не заглядывают...
vital
Цитата (FatCat @ 12.07.2014 - 22:25)
Цитата (FatCat @ 12.07.2014 - 23:19)
Я несколько лет назад создавал тему об этом

Так там на баге фиксед написано, еще в 2006 году.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
FatCat
Цитата (vital @ 12.07.2014 - 23:37)
фиксед написано, еще в 2006 году

Написано. А тормоза имеются. Значит не то пофиксили или не так пофиксили.


Кстати, вот еще ситуация, когда нужны "дырки": удаленные темы форума.
Например, вот эта тема showtopic=82523 - айдишник 82523. Если тему удалить - будет "дырка".
Потом мы создаем новую тему, у нее уже новый айдишник - новый адрес.
Что видят поисковки - страницы удаляются и параллельно появляются новые. Удалил страницы - значит плохие были, доверие к сайту снижается.
А если новая тема встанет в "дырку" - для поисковки будет, что страницу не удалили, а обновили содержимое. Страницы обновляются - доверие к сайту повышается, значит постоянно работают над сайтом.

Кстати, может быть и вправду надо этим при случае заморочиться, и новые темы добавлять не тупо по инкременту, а сначала "дырки" поискать...

_____________
Бесплатному сыру в дырки не заглядывают...
waldicom
Цитата (sergeiss @ 12.07.2014 - 16:10)
Короче. По предмету экстрасенсорика тебе "два с минусом".

Ну вот... Придется по старнике деньгу закалачивать. А как было бы прикольно. Сидишь, предсказываешь, деньгу получаешь...

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.