2016-10-24 2 views
1

Каков наилучший способ поиска и удаления дубликатов или похожих записей в базе данных?Поиск дубликатов Java/SQL

Подобные средства же в некоторых столбцах базы данных

Я делаю это сейчас 1 for_loop для текущей строки базы данных/таблицы, 1 for_loop для строк базы данных от тока до последнего, 1 for_loop для столбцов базы данных и, наконец, переключатель для типа столбца. Который занимает несколько минут

+1

Невозможно ответить без указания того, что означает «дублированный или похожий». – chrylis

+0

привет @chrylis Я сказал, что я имею в виду под схожей. Я имею в виду, что 2 записи будут одинаковыми в некоторых столбцах базы данных. и дубликаты означают, что эти 2 записи будут одинаковыми во всех столбцах. –

ответ

0

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

+0

hi @ RAHUL-ROY; Я пытался. проблема заключается в том, что _ResultSet_, созданный из SQL, содержащего слова 'order by', автоматически станет отключенным для обновления. –

+0

dear @RAHUL Я сделал такое другое место, я сделал дополнительную колонку как ** row-number-2 **, и я создал 'order by' sql ... затем создал массив дубликатов на основе что ** row-number-2 ** ... наконец, еще один sql без 'order by' и обновить его из созданного массива ... но, как вы видите, это не простой способ ... и также получить время (оба от меня и компьютера! :)) –

+0

Привет @mhjstackoverflow: Если вы можете добавить столбец в базу данных, то это довольно просто ..... добавьте еще один столбец (скажем, строковое значение строки). run belwo sql. удалить из таблицы, где row_id not in (выберите uniq row_id из таблицы a, таблица b где (условие для аналогичного a.X = b.X иa.Y = b.Y)) Пожалуйста, дайте мне знать, если у вас возникнут какие-либо проблемы. –

Смежные вопросы