@DERBIAGLOBALISTO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
ЧИТАЙ-ГОРОД Москва
от 140 000 до 210 000 ₽
Amigoweb Магнитогорск
от 50 000 до 70 000 ₽
TopHit.ru Москва
от 80 000 до 120 000 ₽
30 мар. 2020, в 10:09
500 руб./в час
30 мар. 2020, в 09:48
120000 руб./за проект
30 мар. 2020, в 09:33
10000 руб./за проект