Задать вопрос
@WebmasterW3S
Веб-программист

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

Доброго времени суток! Встала необходимость частого инсерта данных в MySQL. Подскажите, пожалуйста, каким образом их можно делать максимально быстро. Использовать ли подготовленные запросы, как настроить мускул и т.д.? Может, есть статья на эту тему? Спасибо!
  • Вопрос задан
  • 232 просмотра
Подписаться 3 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 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 записей за раз, что бы доступность таблицы для других действий не нарушалась.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы