업무중 테이블용량이 200GB이상이고 row수가 10억개가 넘는 테이블을 조회하다가 CPU과부하가 걸렸던 일이 생겨서 어떻게하면 조금더 빠르고 효율적인지 찾아보았습니다.
일반적으로 우리가 테이블을 조회할때 SELECT count(1) FROM 테이블명 이런식으로 사용합니다. 저런 방식은 테이블의 로우수가 얼마되지않거나 용량이 작을경우에는 특별히 문제점이 없습니다. 하지만 용량이 커지면 조회할때 시간이 분단위가 넘어가는경우가 생기고 저처럼 과부하가 올경우도 있을 수 있습니다. 그래서 찾아낸 방식입니다.
해당 쿼리는 시스템 테이블을 활용하여 row수를 가져오는 쿼리이고 조건식없이 테이블의 전체rows만 가져올수있습니다.