Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, есть скрипт который собирает информацию из разных источников и пишет ее в базу (около 300к записей в день). Общее количество записей которое надо собрать примерно 100кк, тоесть получается 300 дней в режиме 24/7 - не очень быстро. Поэтому появилось желание запустить 5-10 копий скрипта чтобы ускорить процесс. Но вот вопрос, не будут ли они друг другу мешать?
Примерный алгоритм что делает скрипт:
1. Находит инфу о каком-то продукте и смотрит есть ли такой продукт в базе. Если есть то берет его локальный ИД и записывает новую запись. Если нет то генерирует новый локальный ИД (ИД последнего продукта +1), записывает этот новый продукт в базу и потом делает еще 1 запись отдельно.
Вот в чем вопрос - не случится ли такого что 2 копии скрипта одновременно найдут 2 новых товара, получат один и тот же ИД предыдущего товара и сгенерируют одинаковый новый ИД для новых товаров? Тоесть получится 2 товара с одинаковым локальным ИД.
Тип базы MyISAM.
Неактивен
Неактивен
Почему бы Вам не использовать auto_increment вместо Если нет то генерирует новый локальный ИД (ИД последнего продукта +1)? Это решит проблему.
Неактивен
Да там база уже на 30кк записей + больше 300 этих каунтеров и все уже типа 159345 (шестизначные). В общем переделать можно, но хотелось бы все таки какой-то хот фикс сделать так чтобы попроще и побыстрее...
Неактивен
unsigned bigint (8-байтный беззнакомый инт) Вам никогда не перезаполнить уж точно ).
Остальные пути точно будет не проще и не быстрее.
Неактивен
Ясно, спасибо ) буду тогда переделывать )
Неактивен
удаляйте к чертям. вы подгружаете процессом.
Отредактированно IDX (26.10.2013 03:02:14)
Неактивен