5
ความสัมพันธ์ที่แน่นอนระหว่างธุรกรรมฐานข้อมูลและการล็อกคืออะไร
นี่เป็นคำถามถ่อมใจที่ถามในวิญญาณของการเพิ่มความรู้ของฉัน; กรุณาอ่อนโยนในการตอบสนองของคุณ ในฐานะนักพัฒนาแอปพลิเคชั่นที่ใช้เวลานานฉันรู้ในระดับหนึ่งว่าธุรกรรมคืออะไร (ฉันใช้พวกเขาตลอดเวลา) ออกจากระดับการแยกธุรกรรมในขณะนี้ในระดับสูงธุรกรรมอนุญาตให้บล็อกการทำงานเสร็จสมบูรณ์ทั้งหมดหรือไม่เลยและอนุญาตให้มีการแยกจำนวนหนึ่งจากกิจกรรมการแก้ไขฐานข้อมูลอื่น ๆ ฉันยังรู้ว่า (ในฐานข้อมูลต่าง ๆ ) คืออะไรล็อคหรืออย่างน้อยหนึ่งวิธีการทำงาน (ถ้าฉันล็อคตารางในบางวิธีอย่างชัดเจนแล้วไม่มีกระบวนการหรือด้ายอื่น ๆ สามารถปรับปรุงอะไรเกี่ยวกับตารางที่) สิ่งที่ฉันมากที่สุดอย่างเห็นได้ชัดไม่ชัดเจนเกี่ยวกับการเป็นในฐานข้อมูลต่างๆเมื่อฉันอย่างชัดเจนล็อคแถวหรือตารางฉันกำลังจ้างโครงสร้างเดียวกันที่ใช้โดยฐานข้อมูลของสิ่งอำนวยความสะดวกการทำธุรกรรมภายใต้ครอบคลุมเพื่อให้การทำงานการทำธุรกรรมที่ถูกต้องหรือไม่ นั่นคือมันเกิดขึ้นกับฉันว่าเพื่อให้การทำธุรกรรมเป็นปรมาณูและโดดเดี่ยวนั้นจะต้องมีการล็อค การล็อคทรานแซคชั่นซ่อนเร้นจากทรานแซคชันนี้เป็นการล็อกแบบเดียวกับที่ฐานข้อมูลต่างๆให้ฉันเข้าถึงผ่านการสร้างเช่นSELECT FOR UPDATEหรือLOCKคำสั่งที่ชัดเจน? หรือแนวคิดทั้งสองนี้แตกต่างอย่างสิ้นเชิง? อีกครั้งฉันขอโทษสำหรับnaïvetéของคำถามนี้ ฉันมีความสุขที่จะชี้ไปที่แหล่งข้อมูลพื้นฐานเพิ่มเติม