programing

MongoDB 셸에서 실행 중인 쿼리를 중단하려면 어떻게 해야 합니까?

lovejava 2023. 5. 4. 17:51

MongoDB 셸에서 실행 중인 쿼리를 중단하려면 어떻게 해야 합니까?

이런 질문을 해야 한다는 것이 믿기지 않지만, 방금 실행한 쿼리를 중지하려면 어떻게 해야 합니까? 지금 실행 중이며 Mongo 셸에서 완료하는 데 매우 오랜 시간이 걸릴 것입니다. Control+C셸을 충돌시키는 것처럼 보이고 수많은 오류를 내뱉습니다.물론 이 게시물에서 제안된 어리석은 해결책은 아무 것도 하지 않습니다.다른 터미널 탭을 열고 실행할 수 있습니다.db.currentOp()작업 ID를 찾은 다음 실행db.killOp()하지만 그게 유일한 해결책이라는 게 믿기지 않아요.제가 뭔가 명백한 것을 놓쳤나 봐요.

알렉스의 대답을 토대로.

  1. 현재 실행 중인 작업 쿼리:

    db.currentOp()
    

Mongo currentOp 응답

  1. opid를 기반으로 한 작업 종료

    db.killOp(30318806)
    

Mongo 설명서에 따르면 다음 작업을 수행해야 합니다.

  1. 다음을 통해 현재 작업 ID 가져오기db.currentOp()
  2. 상대방 죽이기db.killOp()

좋은 예제 스크립트는 여기에서 찾을 수 있습니다.

샤드 클러스터의 경우:

  1. db.currentOp()
  2. db.killOp("shard_id:opid")

예:

db.killOp("shard0000:3134616")

언급URL : https://stackoverflow.com/questions/26940616/how-do-i-abort-a-running-query-in-the-mongodb-shell