DB/MongoDB
-
몽고디비 인덱스 생성 확인 및 취소하기 - 인덱스 생성전에 미리 알자DB/MongoDB 2021. 2. 4. 18:49
몽고디비 조회 속도가 너무 느려져서 인덱스를 추가했다. 추가하는데 엄청난 시간이 들지 예상하지 못해, 생성문을 실행했는데, 이게 실행이 되지 않아 당연히 클라이언트에서 실행중 수행시간이 길어져 프로세스가 꺼진줄 알고 그냥 뒀다. robo 3T 라는 툴에서는 프로세스가 15초 이상 실행되어 실행되지 않는다~ 뭐 이런 식의 문구가 떠서 끄면 작업이 끝난줄 알았다. 그런데 이게 최초에 foreground 로 돌리던게 돌아갔던건지 background 로 돌리던게 돌아가는건지 몽기DB 쓰기 수행작업이 lock 이 걸렸습다. 백그라운드로 돌렸어도 전체에 락이 걸렸을거 같은데 확실치 않다. 인덱스 생성 명령어를 수행한지 2시간이 지나도 lock 이 안풀려있엇어서 서비스 병목 현상때문에 알게 되었다. 나중이 되서야 인..
-
[MongoDB] 몽고디비 인덱스 설명 및 생성DB/MongoDB 2020. 12. 17. 17:41
Index 란 DB의 검색을 빠르게 하기 위해 미리 데이터의 순서를 정리해두는 과정 Index는 MongoDB에서 데이터 쿼리를 더욱 효율적으로 할 수 있게 해준다. 인덱스가 없이는, MongoDB는 collection scan – 컬렉션의 데이터를 하나하나 조회 – 방식으로 스캔을 하게 된다. 모든 도큐먼트를 스캔해야되는 비효율성을 줄임 한 쿼리당 하나의 index 만 유효하다. 두개의 index가 필요하다면 복합 index를 사용하면 된다. * B트리 : 내부적으로 B-Tree 알고리즘을 이용하여 인덱스를 구성한다. 사용시 주의할 점 : 모든 인덱스를 갱신해야 하기 떄문에 모든 쓰기 작업은 인덱스 때문에 더 오래 걸림 : Collection 당 최대 64개까지 인덱스를 지닐수있지만, 2~3개만 지니는..