SQL 은'존재'여 부 를 판단 하고 count 로 작업 합 니까?시간 많이 걸 려!

어떤 조건 에 따라 데이터베이스 시트 에서'있 음'과'없 음'을 조회 하고 두 가지 상태 만 있 습 니 다.그런데 왜 SQL 을 쓸 때 select count(*)를 사용 해 야 합 니까?
갓 입문 한 프로그래머 의 샛별 이 든,훌륭 한 모래사장 의 오 랜 프로그래머 백 이 든,모두 예전 과 같은 count 이다.
현재 다수의 작법
여러 번 review 코드 를 발 견 했 을 때 현재 와 같은 현상 을 발 견 했 습 니 다.
업무 코드 에 서 는 하나 이상 의 조건 에 따라 기록 이 있 는 지 확인 하고 몇 개의 기록 이 있 는 지 에 관심 이 없다.일반적인 SQL 및 코드 작성 방법 은 다음 과 같 습 니 다.
SQL 쓰기:

SELECT count(*) FROM table WHERE a = 1 AND b = 2
Java 쓰기:

int nums = xxDao.countXxxxByXxx(params);
if ( nums > 0 ) {
 //    ,       
} else {
 //     ,       
}
괜 찮 은 것 같 지 않 아 요?괜 찮 습 니 다.
최적화 방안
추천 쓰 기 는 다음 과 같 습 니 다.
SQL 쓰기:

SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1
Java 쓰기:

Integer exist = xxDao.existXxxxByXxx(params);
if ( exist != NULL ) {
 //    ,       
} else {
 //     ,       
}
SQL 은 count 를 사용 하지 않 고 LIMIT 1 을 사용 하여 데이터 베 이 스 를 조회 할 때 하 나 를 만나면 되 돌려 줍 니 다.더 이상 몇 개 더 있 는 지 찾 지 마 세 요.
비 즈 니스 코드 에서 비 어 있 는 지 직접 판단 하면 됩 니 다.
총결산
조회 조건 에 따라 찾 아 낸 항목 수가 많 을 수록 성능 이 뚜렷하게 향상 되 고,어떤 경우 에는 연합 색인 생 성 을 줄 일 수 있다.
SQL 이 존재 하 는 지 여 부 를 판단 하 는 데 있어 서 count 로 작업 하고 있 습 니까?시간 많이 걸 려!의 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 SQL 은'존재'여 부 를 판단 합 니 다.예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기