| imho.ws |
![]() |
|
|
|||||||
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
|
|
# 1 |
|
Junior Member
Регистрация: 27.08.2005
Адрес: spb.ru
Сообщения: 100
![]() |
Существует база, которая быстро копится записями (~300000). Контролировать создание повторов нет возможности. Стоит задача автоматической чистки. Как алгоритм, вижу следующее решение: оправлять в топку строки, где id не попадает в список сгруппированных записей по ключевым полям. Только мне видится, что работать это будет не быстро из-за группировки и NOT IN.
PHP код:
__________________
Сейчас кто-то получит яндексом по рамблеру и отлетит гугол. Последний раз редактировалось Andrey Zak; 29.09.2005 в 18:36. |
|
|
|
|
# 2 |
|
::VIP::
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
а нет возможности создать еще одну такую же базу и в нее записывать DISTINCT от первой, так вроде и достаточно быстро будет (надо будет обновлять не всю базу, а только после последнего обновления) и просто вроде...
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным. |
|
|
|
|
# 3 |
|
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
А почему бы просто не создать constraint типа unique index на каких-нибудь полях(желательно чтобы поля были поменьше, например integer), и тогда дубликаты не будут вставляться, а будет соотвествующее сообщение об ошибке, которое ты благопалучно перехватишь.
Подзапросы есть только в mysql 4.1 и выше.
__________________
убрано по просьбе администратора
|
|
|
|
|
# 4 | ||||
|
Junior Member
Регистрация: 27.08.2005
Адрес: spb.ru
Сообщения: 100
![]() |
Цитата:
Цитата:
Цитата:
Цитата:
Есть еще идея через LEFT JOIN. Буду пробовать.
__________________
Сейчас кто-то получит яндексом по рамблеру и отлетит гугол. |
||||
|
|
|
|
# 6 |
|
Junior Member
Регистрация: 27.08.2005
Адрес: spb.ru
Сообщения: 100
![]() |
Если можно пример для наглядности. А как в индекс заложить условия? К сожалению в моем случае, я могу только разгребать. И как я уже написал повторы нужно понимать шире.
__________________
Сейчас кто-то получит яндексом по рамблеру и отлетит гугол. |
|
|
|
|
# 7 |
|
Junior Member
Регистрация: 27.08.2005
Адрес: spb.ru
Сообщения: 100
![]() |
Поигрался с LEFT JOIN. Результат очень порадовал.
PHP код:
Может порекомендуете, как еще можно оптимизировать предложенный вариант. Также вопрос остается открытый. Интересны подходы по борьбе с существующими повторами (схожими записями).
__________________
Сейчас кто-то получит яндексом по рамблеру и отлетит гугол. Последний раз редактировалось Andrey Zak; 30.09.2005 в 11:56. |
|
|