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;

'DB' 카테고리의 다른 글

Hive - UDF  (2) 2025.02.02
Hive - HQL 함수  (0) 2025.02.02
SQL - group by, alias 등  (1) 2025.01.19
SQL 연산 순서  (0) 2024.07.29
MySQL - HINT  (0) 2024.07.17