Использование PHP (1900 СЕК ограничения по времени и более чем 1 Гб ограничения по памяти) и MySQL (с использованием PEAR :: MDB2) на этом ...несколько запросов MySQL, и как сделать мой сценарий быстрее
Я пытаюсь создать поисковую систему, которая будет загружать данные из фидов сайтов в базе данных mysql. На некоторых сайтах есть довольно большие каналы с большим количеством данных в них (например, более 80 000 записей всего в одном файле). Некоторые проверки данных для каждой из записей выполняются до вставки записи в базу данных (проверка данных, которая также может вставлять или обновлять таблицу mysql).
Моя проблема заключается в том, что многие из вас, возможно, уже поняли ... время! Для каждой записи в фиде имеется более 20 проверок, а для фида, например: 10.000 записей, может быть> 50.000 вставок в базу данных.
Я пытался сделать это с 2-мя способами:
- Прочитайте корм и хранить данные в массиве, а затем цикл через массив и сделать проверку данных и вставки. (Это самый быстрый из всех)
- Прочтите фид и выполните проверку данных по строкам и вставьте.
База данных использует индексы для каждого поля, которое постоянно запрашивается. PHP-код настраивается без дополнительных переменных, а SQL-запросы - это простые операции выбора, обновления и вставки.
Установка ограничений по времени и памяти также не является проблемой. Проблема в том, что я хочу, чтобы эта операция была быстрее.
Так что мой вопрос: Как я могу быстрее импортировать данные фида? Есть ли другие подсказки, о которых я, возможно, не знаю?
Не использует MDB2 PDO? – basdog22
@jeezTech: Даже если это еще один дополнительный слой. – prodigitalson
@erenon: У вас здесь хороший момент. – basdog22