728x90
mysql 계열에서 대량의 데이터를 삭제시
delete from xx inner join yy 등으로 하였을 경우 데이터가 적으면 빠르게 지워지지 않는다.
이럴때. in 절을 이용하여 row를 제한 한다면 빠르게 처리가 가능하다.
delete from xx
where 1=1
and (pk_column_lists ) in (select pk_column_lists
from yy
where column_name <= @@값
and column_name > @@값
)
subquery에 limit절을 이용하면 문법 오류가 발생하니, subquery의 테이블 view로 사용하고
view안에 limit를 이용하면 오류가 발생하지 않는다.
728x90
'DB이야기 > MYSQL' 카테고리의 다른 글
mysql 컬럼 추가시 순서 지정 (0) | 2024.02.13 |
---|---|
mysql과 오라클의 한글 저장 byte (0) | 2023.03.29 |
조인으로 테이블 row 삭제하기 (0) | 2023.01.16 |
[mysql, oracle] 테이블 컬럼명 변경 (0) | 2022.12.21 |
mysql의 샘플 테이블 생성 (0) | 2022.12.20 |