@WebmasterW3S
Веб-программист

Как максимально быстро сделать INSERT через PDO?

Доброго времени суток! Встала необходимость частого инсерта данных в MySQL. Подскажите, пожалуйста, каким образом их можно делать максимально быстро. Использовать ли подготовленные запросы, как настроить мускул и т.д.? Может, есть статья на эту тему? Спасибо!
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 3
Arris
@Arris
Сапиенсы учатся, играя.
Автор, вы занимаетесь преждевременной оптимизацией.

Это зло.

Сверхоптимизация инсертов нужна, если у вас БД лежит на дискете или MFM-винте. В остальных случаях сервер все сделает за вас. Его писали очень умные люди (уж точно и меня и вас)

P.S. Мне кажется, кроме плашек сложности вопроса "простой", "средний" и "сложный" нужна плашка "ненужный" или "легко ищется поисковиком.
Ответ написан
alex-1917
@alex-1917
Если ответ помог, отметь решением
Автор!
Быстрые запросы на вставку в БД нужны для приложений уровня эльдорадо, мвидео и т.д.
В данном текущем случае, очевидно, речь идет о БД уровня страница хомячка, поэтому - ЗАБЕЙ! Хомячки это одобряют.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Вар 1.

1. Открываем транзакцию
2. Делаем пачку инсертов
3. Коммитим транзакцию

Вар 2.

Подготавливаем большой запрос инсерт с пачкой values и выполняем его.

При вставке данных может куча времени тратится на пересчет индексов. В первом и втором вариантах инжексы пересчитаются 1 раз.
Правда если у вас вам нужно втсавить 1кк записей - стоит это делать в цикле например по 500 записей за раз, что бы доступность таблицы для других действий не нарушалась.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы