728x90
MYSQL vs Oracle 인덱스 차이
MySql과 Oracle은 인덱스 동작 방식에 있어서 약간의 차이가 존재한다.
MySql에서는 일반적으로 한번의 쿼리에서는 하나의 인덱스만 사용됩니다.
즉, 여러 인덱스가 걸려있어도 MySQL의 옵티마이저가 쿼리 실행 계획을 결정할때 인덱스의 선택도(카티널리티)를 고려하여 최적의 인덱스 하나만 선택한다.
그렇기때문에 복수 컬럼을 동시에 인덱스를 태우고자 할 경우에는 복합 인덱스 하나만 사용해야 된다.
반면 Oracle은 비교적 더 복잡한 옵티마이저를 갖고 있어, 쿼리 실행 계획을 수립할때 다중 인덱스 조인이나 다중 칼럼 인덱스를 통해 여러 인덱스를 동시에 활영 할 수 있다.
다만, 무조건 Oracle에서도 모든 쿼리에서 여러 인덱스를 동시에 사용하는 것이 아니라 쿼리의 조건과 테이블 구조에 따라 단일 인덱스를 선택할 수 도 있다.
728x90
'DB' 카테고리의 다른 글
[DB] Oracle WITH(CTE) 구문절 VS Mysql WITH(CTE) 구문절 차이점 (0) | 2023.06.07 |
---|