Разбор 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, указанном в этом ответе. Это поможет вам оценить, где этот номер должен быть. Имейте в виду, что если у вас уже есть данные в БД, это может занять некоторое время. Надеюсь, поможет.
Удачного кодирования!