Удаление дублей

12
BigBoss
На сайте с 25.09.2007
Offline
73
#11

Через недельку по материалам темы можно будет диссертацию защищать :)

С CRC мысль здравая, индексный файл меньше будет весить. Насчет записи в файлы имхо изврат, для того БД и созданы. На PHP уж точно с файлами работаться будет медленнее, чем с MySQL.

Md5 действительно совпасть может, сопадения в него заложены "генетически". Но вероятность совпадения даже если вариантов будет 1,5трлн. 10-в-минус-дохе*атой степени :) и временем на сравнение самих строк можно пренебречь. Кстати, 1500/50/2 не 15? :) При первом запросе индексный файл закешируется и после время на чтение не потребуется.

Не спорю, возможно твой способ и оптимален, тут все зависит от количества и длины строк. Но я настаиваю - с помощью md5, MySQL и в крайнем случае хитрых индексов задача легко решается при любой погоде :)

doggystyle, это ж надо локалхост с 2 гигами памяти иметь :D

Avtoprogon.ru - белые, серые регистрации: 8000 русских, 8000 англ., 1300 кат. статей. VIP-регистрации. Дорегистрация в новых каталогах (http://www.avtoprogon.ru/) Добавление ссылок на индексацию в Ya, Go. (http://www.avtoprogon.ru/yandex/)
WP
На сайте с 27.11.2008
Offline
2
#12

Интересно, автору поста еще нужно решение, или у нас просто дискуссия? Автор отзовись! Решил проблему или нет? Если решил, то как.

А спорить про алгоритм можно бесконечно. Сначала можно обсуждать максимально оптимальный вариант написания скрипта на PHP, потом перейти на Си, и так далее до написания программы на Ассемблере, которая будет расходовать минимум ресурсов и отсеет все дубли за время на доли секунды больше, чем займет чтение всех этих файлов с диска. Я думаю, здесь не стоит перегибать палку. Нужно найти более или менее оптимальный вариант и реализовать его, если это еще нужно.

BigBoss
На сайте с 25.09.2007
Offline
73
#13

Прав на 100%.

Но этим оно и интересно :)

WP
На сайте с 27.11.2008
Offline
2
#14
BigBoss:
Прав на 100%.
Но этим оно и интересно :)

Это точно. Интересно, как автор поста проблему решил, если решил конечно.

P0
На сайте с 22.08.2008
Offline
145
#15

<удалено>...

D
На сайте с 16.02.2008
Offline
11
#16
BigBoss:

doggystyle, это ж надо локалхост с 2 гигами памяти иметь :D

Я думаю, что в наше время 2 гига на домашнем компе - не редкость ;)

Vanich
На сайте с 10.07.2007
Offline
165
#17

Как Вам такой вариант: программа сортирует строки (можно предварительно в БД записать, смотря сколько их), далее идет по порядку и сверяет N с N+1, если одинаковый - запоминаем.

После этой процедуры идем по файлам и оставляем только первый встретившийся из запомненных(дублей).

Работать будет дольше, но код проще, такой баксов за пять может какой школьник и напишет.

Онлайн-консультант для юридических, медицинских, компьютерных, туристических сайтов. Удобно пользователю, прибыльно вебмастеру. (http://webmasters.leadia.ru/?ref=bIoqZIaath) MONKEYWRITE ТЕПЕРЬ БЕСПЛАТНО (https://yadi.sk/d/Hd9mbvyzeMMfp)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий