DB
SQL - begin, index, anti-join
개발 일기92
2025. 1. 19. 17:52
- 풀 스캔 방지를 위한 인덱스 강제지정
SELECT * FROM table_name USE INDEX (index_name) WHERE column = 'value';
- Anti-join (일치하지 않는 레코드 찾기)
SELECT a.*FROM table_a a
LEFT JOIN table_b b ON a.id = b.id
WHERE b.id IS NULL;
- begin , delete 후 다른 유저가 해당 데이터를 update하면? (commit되지 않은 해당 행이 lock상태라 update불가)
-- A터미널
BEGIN TRANSACTION;
DELETE FROM table_name WHERE id = 1;
-- B터미널
BEGIN TRANSACTION;
DELETE FROM table_name WHERE id = 1;