InnoDB — Транзакции уменьшают скорость выполнения запросов

InnoDB, провожу эксперимент: делаю 50 000 INSERT запросов циклом - время выполнения 10+ секунд. Делаю так же 50 000 INSERT запросов но уже в одной транзакции - время всегда ~3 секунды. Почему так? я до этого думал что использовании транзакций наоброт требует больше времени ))
  • Вопрос задан
  • 2906 просмотров
Пригласить эксперта
Ответы на вопрос 2
Tyranron
@Tyranron
Транзакции в InnoDB происходят в любом случае, просто когда Вы явно их не указываете, то запрос автоматически оборачивается в транзакцию (если установлен AUTOCOMMIT = 1, по умолчанию он обычно установлен).
Так что быстрее: 50 000 отдельных транзакций или одна?

Чтиво:
Про autocommit
Про InnoDB
Ответ написан
opium
@opium
Просто люблю качественно работать
Вроде всегда было известно, что вставить данные одним большим блоком всегда быстрее чем 10 тысяч раз вставлять что то.
Ответ написан
Ваш ответ на вопрос

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

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