database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 961 게시물 읽기
No. 961
[질문] 조회결과 갯수 알아낼때..
작성자
이준식(ysaraha)
작성일
2006-04-04 13:33
조회수
4,973

보통 조회결과의 레코드 갯수를 출력할때 count()함수를 사용하는데요

아래 두개의 쿼리가 같은 결과를 출력하는데 차이가 있나요?

 

select count(1) from table_name;

select count(*) from table_name;

 

근데 현재 유지보수중인 프로그램에서는 count(1) 이 방식을 많이 사용하는데

좀더 빠르다고 들은것 같기도 하고요 참고말씀 부탁드립니다.

이 글에 대한 댓글이 총 2건 있습니다.

dynexpln -d dbname -g -s "select count(*) from t_tab with ur"

dynexpln -d dbname -g -s "select count(1) from t_tab with ur"

time db2 "select count(*) from t_tab with ur"

time db2 "select count(1) from t_tab with ur"

 

먼저 count 가 사용하는 index가 무엇인지를 확인합니다.

차례로 두 sql을 실행시키며 실행시간을 비교해보세요.

제일 처음 실행된 sql은 index를 bufferpool에 올리는 시간이 들어가있을수 있으므로 무시하시고 비교하세요.

제가 했을때는 차이가 없습니다.

 

제대로 된 경우라면 둘다 index only scan을 사용합니다.

 

 

도님이 2006-04-04 16:31에 작성한 댓글입니다. Edit

그렇군요~ 근데 레코드건수가 수동으로 넣어서 100건도 안돼서요.

한 100만건정도에서 해보고싶은데 ㅋ

근데요 마지막에 index only scan는 무슨 뜻인가요? //(^^)//

이준식(ysaraha)님이 2006-04-04 22:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
965DB2 에 프로젝트를 투입하려고 하는데요 [2]
김자연
2006-04-08
5877
964오라클 connectn by 를 DB2로 수정하는데 잘 안돼여 [3]
일이시스
2006-04-06
5478
962LEFT 조인 기호 [3]
하늘
2006-04-05
7018
961[질문] 조회결과 갯수 알아낼때.. [2]
이준식
2006-04-04
4973
960AIX용 DB2 다운로드 및 구하는곳 [2]
나현길
2006-04-03
5583
959거래 정보에서 판매상품만 Select 해오기. [1]
하늘
2006-04-03
5023
958백업했을때의 타임 스탬프를 알수 있는 방법이 없나요? [1]
니시노
2006-04-02
4328
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다