|
|
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
есть таблица Код: plaintext размер БД 16 Gb, лога 2 Gb Размер tempdb 8 Gb, лога 4 Gb Как удалить дупликаты из этой таблицы? Заранее благодарен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 15:04 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
Может что-либо вроде вот этого подойдёт? (подсмотрел на одном из форумов) Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 15:15 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
Иван Пирогов wrote: > Как удалить дупликаты из этой таблицы? Тебе по любому нужно сначала определиться, что такое "дубликаты" у тебя. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 15:33 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
MAXHATbIu, а первичного ключа там нет, в этом то и суть. Нужно чтобы запрос отработал так, чтобы по памяти не было переполнений. Боюсь при таком соединении оно вполне может и произойти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 16:23 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, скорее всего по первым трем полям. Не уверен, что блобы можно сравнивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 16:24 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
Иван Пирогов wrote: > скорее всего по первым трем полям. Не уверен, что блобы можно сравнивать Лучше всего создать другую таблицу с такой же структурой, но плюс ещё с уникальным индексом по всем полям, набор значений которых будет тебе давать уникальность записи (что это - не дубликат). В индексе надо сделать опцию IGNORE_DUP_KEY. С этой опцией нарушение уникального ключа не является ошибкой, а просто игнорируется. И потом вставить в новую таблицу все строки из старой. Тогда в новой останутся только уникальные значения. Старую таблицу потом можно дропануть, а новую переименовать в старую, или ещё как. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 16:31 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, спасибо, попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 15:43 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, тогда попутный вопрос, как к более опытному. Почему бы просто не добавить alter table'ом ещё одно поле в таблицу, а затем в цикле проставить значения (от 1 до количества записей в таблице). Фактически получим уникальность записи. А потом после удаления дублей это поле дропнуть. т.е примерно так Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 16:34 |
|
||
|
Удалить дупликаты из большой базы (как?)
|
|||
|---|---|---|---|
|
#18+
MAXHATbIu wrote: > таблице). Фактически получим уникальность записи. А потом после удаления > дублей это поле дропнуть. > т.е примерно так > > alter table T add ID numeric (*18*,*0*) > > select @i=*1* > update T set ID=@i, @i=@i+*1* Тоже вариант, есть ещё много вариантов. Тот, который я привёл - один из достаточно стандартных и слабозаморочных. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 16:59 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=38&tid=2011031]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 381ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...