MySQL дедупликация записей

Я просто спрашиваю здесь, каков наилучший подход для дедупликации вашей таблицы в MySQL?

У меня есть образец таблицы с полями id,name, lastname, user_no, birthday,percentage, а потом parent_id, Что я хочу, это добавить значение на percentage а также parent_id поля, основанные на том, какая запись является дубликатом и насколько они похожи.

Я просто прошу подход. Будет ли эффективным проверять каждое поле дважды, чтобы проверить совпадение? Или есть другой способ?

-5

Решение

Предполагая, что id поле уникально для каждой записи, и что первая запись в базе данных с другими подобными parent_id

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

  2. Прочитайте каждую последующую запись в базе данных. Если у него есть parent_id значение, перейдите к следующей записи.

  3. Сравните поля во вновь прочитанной записи с полями в ранее сохраненном. Если совпадение достаточно, обновите только что прочитанную запись parent_id а также percentage поля.

  4. Когда вы достигнете конца базы данных, но не сравните все записи в ней, прочитайте следующую родительскую запись (т.е. во второй раз, вторую запись в базе данных, предполагая, что она не имеет parent_id набор полей), сохраните значения его полей в переменных сравнения и повторите процедуру, начиная с шага 2.

После прочтения описания проблемы с вашим другой вопрос, похоже, что вы захотите изменить критерии выбора на шаге 4: чтобы найти «лучшие» совпадения, вам не нужно пропускать записи с parent_id поле установлено, а лучше использовать каждый запись в базе данных, последовательно, в качестве источника сравнения. Это также означает, что вы не захотите пропускать записи на шаге 2 с parent_id уже установлено — и вы собираетесь читать каждую запись в базе данных N раз, где N это номер строки.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]