Разбор dmoz rdf файлов с использованием php скрипта

Я использовал скрипт php в

http://sourceforge.net/projects/dmoz2mysql/files/

загружать, извлекать, очищать, анализировать и вставлять данные dmoz в таблицу mysql. я не сталкиваюсь с проблемой при обработке struct.rdf. Но при разборе content.rdf возникает резкая пауза после вставки 3200000 строк... и после этого ничего не происходит - мне пришлось принудительно завершать работу после ожидания около часа... Я запускаю этот скрипт в командной строке Windows... Я не знаю php, и, следовательно, я не могу найти причину этой проблемы.. пожалуйста, помогите, так как мне очень нужны эти данные dmoz для моего проекта..

1 ответ

Вот несколько советов по устранению неисправностей, которые могут оказаться полезными.

SHOW TABLE STATUS LIKE `table_name`;

Это сообщит вам информацию о таблице, которую вы заполняете. Важной частью будет Max_data_length. Проверьте, не нарушаете ли вы какие-либо ограничения на объем данных, которые вам разрешено хранить. Это распространено для таблиц MyISAM. Сравните это с Data_length. Если они совпадают, вы достигли предела. Это можно изменить с помощью MAX_ROWS. Общий предел для таблицы MyISAM составляет 4 ГБ данных. Если вы исчерпаны, вам нужно будет сделать одну из двух вещей. Либо используйте движок InnoDB для таблицы, либо измените таблицу:

ALTER TABLE `table_name` MAX_ROWS=1000000000 AVG_ROW_LENGTH=nnn;

Обязательно используйте Avg_row_length (или выше), перечисленные в первом запросе STATUS, указанном в этом ответе. Это поможет вам оценить, где этот номер должен быть. Имейте в виду, что если у вас уже есть данные в БД, это может занять некоторое время. Надеюсь, поможет.

Удачного кодирования!

Другие вопросы по тегам