Мне поручено написать script (или еще лучше, демон), который должен сделать несколько вещей:
Еще одна вещь, которая оказалась сложной в этом случае (я уже взломал некоторое решение), заключается в том, что во время работы базы данных 2-го уровня начинает замедляться сканирование из-за объема SQL-запросов, которые вставляют данные в несколько таблицы, которые влияют на остальную часть системы, которая опирается на базу данных (это выделенный сервер с несколькими размещенными сайтами). И я даже не мог дойти до шага 3...
Любые подсказки о том, как мне подойти к этой проблеме? Остерегайтесь внимания? Все, что поможет мне в решении этой проблемы, более чем приветствуется.
Спасибо!
Некоторые из моих идей:
Вы можете разработать умный способ использования транзакций базы данных, если ваша база данных поддерживает транзакции. Я только экспериментировал с транзакциями с базой данных, но они говорят, что он может увеличить скорость вставки до 40% (mysql.com), и он не блокирует таблицы.
Вы можете добавлять данные в временный файл, даже в формате sql, и загружать данные в свою базу данных сразу. Использование LOAD DATA INFILE обычно в 20 раз быстрее (mysql), я использовал для быстрой вставки более 1 миллиона записей, и это было довольно быстро.
Настройка какой-либо системы quering.
Поставьте спать или подождите каждого запроса (в python, time.sleep(1) заставит процесс ждать 1 секунду)
Я не совсем уверен, что вы используете, но вот некоторые указатели на оптимизацию вставок:
http://dev.mysql.com/doc/refman/5.0/en/insert-speed.html