목록db (2)
허허의 오늘은 뭐 먹지?
DB Lock이나 Table Lock이 발생하지 않도록 하기 위한 Python 처리는 데이터베이스 트랜잭션을 잘 관리하고, 효율적으로 쿼리를 실행하는 것에 달려 있다.. 아래는 이를 위한 몇 가지 접근법이다. 1. 트랜잭션 크기 최소화트랜잭션 내에서 실행하는 작업의 양을 최소화하세요. 트랜잭션이 길어질수록 락이 오래 걸리게 된다. import sqlite3conn = sqlite3.connect('example.db')try: conn.execute('BEGIN TRANSACTION') # 중요한 작업들 conn.execute('COMMIT')except Exception as e: conn.execute('ROLLBACK') print(f"Error: {e}")finally:..
Transaction이란 DBMS에서 데이터를 다루는 논리적인 작업의 단위이다. Transcation ACID 1. Atomicity (원자성) : 한 Transaction의 작업은 전부 수행되거나 전부 수행되면 안 됨 2. Consistency (일관성) : Transaction의 수행 전/후에서 DB는 항상 일관된 상태여야 함 (업데이트한 데이터의 합이 전과 후에 달라지지 않아야 함 등) 3. Isolation (고립성) : 수행 중인 Transactino에 다른 Transaction이 끼어들어 변경하려는 데이터 값이 의도치 않게 변경되면 안 됨 4. Durability (지속성) : Transaction 수행 후 변경한 데이터는 영구적으로 저장되어야 함 Isolation Level ACID를 다 지..