Мой код извлекает ~ 1000 HTML-файлов, извлекает соответствующую информацию и затем сохраняет эту информацию в поле MySQL TEXT (поскольку оно обычно довольно длинное). Я ищу систему для предотвращения дублирования записей в БД
Моя первая идея - добавить в таблицу поле HASH (возможно, MD5), вытягивать список хешей в начале каждого прогона и проверять наличие дубликатов перед вставкой в БД.
Вторая идея - хранить длину файла (в байтах или символах или что-то еще), индексировать ее и проверять наличие дублирующихся длин файлов, перепроверять содержимое, если найдена дублирующаяся длина.
Понятия не имею, что является лучшим решением с точки зрения производительности. Возможно, есть лучший способ?
Если есть эффективный способ проверить, похожи ли файлы> 95%, это было бы идеально, но я сомневаюсь, что есть?
Спасибо за любую помощь!
Кстати, я использую PHP5 / Kohana
EDIT:
только что пришла идея проверить сходство: я мог посчитать все буквенно-цифровые символы и записать вхождения каждого
Например: 17aB ... = 1a, 7b, 10c, 27c, ...
потенциальной проблемой будет верхний предел для количества символов (около 61?)
Я предполагаю, что ложные срабатывания все еще будут редкостью. , .
хорошая идея / плохая идея?