Sobes.tech
Middle+

Ինչ է տեղի ունենում Xmin և Xmax- ի հետ թարմացման ժամանակ?

sobes.tech AI

Պատասխան AI-ից

PostgreSQL-ում, երբ կատարվում է UPDATE գործողություն, ոչ միայն փոփոխվում է տողը, այլ իրականում ստեղծվում է նոր տարբերակ տողի (MVCC — բազմասեռմակային մրցակցություն):

  • Xmin — դա է այն տրանսակցիայի նույնականացուցիչը, որը ստեղծել է (ներմուծել) ընթացիկ տողի տարբերակը:
  • Xmax — դա է այն տրանսակցիայի նույնականացուցիչը, որը նշեց տողը որպես ջնջված (օրինակ, UPDATE կամ DELETE ժամանակ):

UPDATE-ի ժամանակ՝

  1. Հին տարբերակն ստանում է Xmax դաշտում ընթացիկ տրանսակցիայի նույնականացուցիչը՝ որը կատարում է UPDATE-ը — սա նշանակում է, որ այս տարբերակը այժմ համարվում է ջնջված նոր տրանսակցիաների համար:
  2. Ստեղծվում է նոր տարբերակ տողի՝ նոր Xmin-ով՝ ընթացիկ տրանսակցիայի նույնականացուցիչով, և դատարկ Xmax-ով:

Այսպիսով, UPDATE-ը հիմնականում հնացած տարբերակի DELETE-ն + նոր տարբերակի INSERT-ն է, ինչը ապահովում է տրանսակցիաների առանձնացում և տվյալների համահունչություն։