@DERBIAGLOBALISTO

Влияет ли режим автоматической фиксации транзакции на производительность?

Можно ли получить приток производительности отключив автокоммит и стоит ли это делать?
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 2
IgorPI
@IgorPI
Проходил мимо.
Не супер спец по базам данных, но кое-что в есть в багаже.

Всё зависит от ситуации.

Ситуация номер 1

Атомарность.

В этом случае нет смысла использовать autocommit, а нужно использовать транзакции.
Во-первых это правильный подход.
А во вторых можно сделать откат если возникла ошибка.
В третьих это даст прирост.

Ситуация номер 2
Вы хотите задампить большой объем данных, с последующим восстановлением.

В этом случае на N количество запросов можно открыть транзакцию, а после зафиксировать.
Это тоже даст прирост.

Это как с дверью, когда туда-сюда носишь мешки и при этом открываешь и закрываешь дверь, вы тратитевремя на эту неблагодарную операцию.

Если вам нужно занести 15 мешков картошки, открыли дверь, подставили кирпич и носите мешки, а потом не забываем закрывать.

Не забывайте, если постоянно держать дверь, можно простудиться и словить ошибку переполнения журнала транзакций.

В обычных случаях используем autocommit.
Сами понимаете, зачем открывать транзакцию если вставляете всего одну запись.

Ответ на ваш вопрос.
Оптимизация запросов и тюнинг СУБД даёт прирост.

Вот такой дилетантский ответ.
Спасибо.
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
1. Для дефолтной конфигурации mysql - влияет.
2. В данной формулировке, как это почти всегда бывает для сферических вопросов в вакууме - ОДНОЗНАЧНО НЕТ, и НИ В КОЕМ СЛУЧАЕ.

Любые телодвижения надо совершать исходя из практической необходимости, а не туманных фантазий.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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