Задать вопрос

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

InnoDB, провожу эксперимент: делаю 50 000 INSERT запросов циклом - время выполнения 10+ секунд. Делаю так же 50 000 INSERT запросов но уже в одной транзакции - время всегда ~3 секунды. Почему так? я до этого думал что использовании транзакций наоброт требует больше времени ))
  • Вопрос задан
  • 2931 просмотр
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Tyranron
@Tyranron
Транзакции в InnoDB происходят в любом случае, просто когда Вы явно их не указываете, то запрос автоматически оборачивается в транзакцию (если установлен AUTOCOMMIT = 1, по умолчанию он обычно установлен).
Так что быстрее: 50 000 отдельных транзакций или одна?

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

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

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