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

    IgorPI
    @IgorPI
    Проходил мимо.
    Не супер спец по базам данных, но кое-что в есть в багаже.

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

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

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

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

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

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

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

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

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

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

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

    Вот такой дилетантский ответ.
    Спасибо.
    Ответ написан
    Комментировать
  • Как сделать LEFT JOIN в одной таблице?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    SELECT a1.object_id 
      FROM activity AS a1
        LEFT JOIN activity AS a2 ON a2.object_id = a1.object_id 
      WHERE a1.subject = "added" AND a2.subject = "remove" AND a2.object_id IS NULL

    SQL JOIN
    VQ5XP.png
    Ответ написан
    1 комментарий