• lmr0x61@lemmy.ml
    link
    fedilink
    English
    arrow-up
    89
    ·
    1 day ago

    As mentioned elsewhere, this is appropriate for anyone doing database administration, because DB writes should always be a trans action.

    • Tja@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      16 hours ago

      I get that this is a joke, but…

      … ackshually it should almost never be a transaction only when there’s absolutely no other option, because transactions kill your performance.

      • silasmariner@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        9 hours ago

        Actually transactions can be a secomd-layer safety-net for single-responsibility writers to ensure rollback on eg restarts and consistency on loadbalancer redecisions without having much of an impact on performance, and data integrity is usually quite important.

        • Tja@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          2 hours ago

          As long as the database is acid restarts should not be a factor. Data integrity is not helped by transactions, you would need error correcting codes for that. Plus the effect on performance is quite notable on all dbs I’ve worked with.

          • silasmariner@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            2 hours ago

            Restarts in a server between dB updates that in a sane world would be txns I meant (e.g update A, crash so don’t update B). Anyway, in postgres they’re pretty cheap in the absence of actual conflict – more expensive if you have actual cinflicts, obvs.

      • qaz@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        11 hours ago

        Unless you’re using Firebird (3) in which not using transactions kills your performance