Middle+
Дар вақти навсозӣ чӣ мешавад бо Xmin ва Xmax?
sobes.tech AI
Ҷавоб аз AI
Дар PostgreSQL, вақте ки амалияи UPDATE иҷро мешавад, на танҳо хаттӣ тағир дода мешавад, балки дар асл, версияи навини хаттӣ (MVCC — назорати бисёрверсионӣ) эҷод мешавад.
- Xmin — ин идентификатори транзаксияест, ки версияи ҳозираи хаттӣ (инчунин, воридшуда) эҷод кардааст.
- Xmax — ин идентификатори транзаксияест, ки хаттӣ ҳамчун хориҷшуда нишон дода шудааст (масалан, дар вақти UPDATE ё DELETE).
Дар вақти UPDATE:
- Версияи кӯҳнаи хаттӣ дар майдони Xmax идентификатори транзаксияи ҳозира, ки UPDATE-ро иҷро мекунад, мегирад — ин маъно дорад, ки ин версия ҳоло барои транзаксияҳои нав ҳамчун хориҷшуда ҳисоб мешавад.
- Версияи навини хаттӣ бо Xmin нав — идентификатори транзаксияи ҳозира, ва Xmax холӣ — эҷод мешавад.
Бинобар ин, UPDATE дар асл DELETE-и версияи кӯҳна + INSERT-и версияи нав аст, ки ин барои таъмин кардани ҷудошавии транзаксияҳо ва мутобиқатии маълумот кӯмак мекунад.