sql count와 별도로 저장하는거 속도차이가 어떨까요?

sql count와 별도로 저장하는거 속도차이가 어떨까요?

QA

sql count와 별도로 저장하는거 속도차이가 어떨까요?

본문

sql에서 count로 db량을 측정하는것과 별도 테이블을 만들어서 읽은것 속도차이가 많이 날까요?

 

예를 들자면, count(mb_id)처럼 게시판에 글쓰기를 한 회원수와 별도 테이블에 회원이 게시판글쓰기할때마다 write+1 로 등록후에 조회하는것과 차이가 어느정도 나타나는지와 장단점을 알고 싶습니다.

 

고수님들의 고견 부탁드립니다~

이 질문에 댓글 쓰기 :

답변 3

phpmyadmin 에서 query 를 실행해보시면 응답 속도가 있습니다.

전체 count()*) 는 실제로 별다른 부하가 없이 불러옵니다.

굳이 별도 테이블을 만들 필요는 없을것 같네요.

단, 조건이 붙는다면, 그 부분은 해당 필드를 index 걸로 테스트해보고 

응답속도가 느리다면 별도 테이블에 저장하는걸 권합니다.

 

데이터 양이 많아 진다면 별도 테이블에 게시물 카운트를 넣어주는게

select 시마다 count 를 매번 구하는 것보다 훨씬 빠르긴 할거에요

키값관리를 위한것이라면

 

mysql 에서 컬럼에 auto_increment를 적용하는게 나을것이고

postgresql 이나 oracle에서는 sequence로 등록후 nextval 값을 관리하는게 효과적입니다.

 

단지 현재의 갯수를 구하는것은 count(컬럼) 하는건 컬럼에 index만 걸려있거나 * 로 전체카운트라면

속도저하가 거의 없을겁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT