테스트 사이트 - 개발 중인 베타 버전입니다

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

불량토끼 2년 전 조회 1,438

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

 

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

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
e
2년 전

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

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

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

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

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

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
2년 전

키값관리를 위한것이라면

 

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

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

 

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인