우리여기 회사에는 5천만건이 넘어가는 아주 뚱뚱한 테이블이 하나 있다.
나는 애기개발자라 애써 모른척 하고 있었지만 선임들이 퇴사하고 나니
내가 들여다 봐야할 상황이 되었다.
일단 오늘 20년에 해당하는 row가 몇개인지 조회할 일이 있었는데
노답의 조회시간
조회조건에 필요한 컬럼 두개를 이용하여 인덱스를 생성해준다
create index entering_컬럼1_컬럼2_index
on entering (컬럼1 ,컬럼2);
select count(id) from entering
where 컬럼1 between '2020-01-01 00:00' AND '2021-01-01 00:00'
and 컬럼2 between '2020-01-01 00:00' AND '2021-01-01 00:00';
select count(*) from entering
use index (entering_컬럼1_컬럼2_index)
where DATE_FORMAT(컬럼1, '%Y') = '2020'
and DATE_FORMAT(컬럼2, '%Y') ='2020'