>

거대한 직원 테이블 (약 2 천만에서 3 천만 명)이 있으며이 테이블에서 선택할 직원 ID는 약 5 만 명입니다.

문의하는 가장 빠른 방법은 무엇입니까? 다음과 같은 쿼리입니까?

select * from employee_table where employeeid in (1,400,325 ....50000)

ID가 반드시 순차적 인 것은 아니다. 그것들은 무작위 순서입니다.

  • 답변 # 1

    IN 절이 쿼리에 사용되면 모든 값 (귀하의 직원 ID)에 대해 필요한 노드를 다시 조회해야하기 때문에 코디네이터 노드의로드가 증가합니다 (쿼리의 CL을 기반으로 함). 클라이언트로 돌아 가기 전에 결과를 수집합니다. 따라서 IN 절에 IN을 사용하여 몇 가지 값이 있으면 괜찮습니다. 그러나 귀하의 경우 ~ 50K 직원 ID를 가져와야 할 경우 select * from employee_table where employeeid = <your_employee_id> 를 해고하는 것이 좋습니다.  그 50K ID와 동시에 또한이 작업을 수행 할 때 cassandra 클러스터를 모니터링하고 이러한 병렬 쿼리로 인해 클러스터에 높은로드가 발생하지 않도록해야합니다. (이 마지막 진술은 내 개인적인 경험을 기반으로합니다 :))

  • 이전 Javascript VM 환경에서 에테르를 전송하지 않는 견고성 코드
  • 다음 r - 예외적으로 타임 스탬프 데이터를 4 분 간격으로 집계