2016-06-26 2 views
0

단일 테이블에 대해 쿼리를 실행하고 있습니다.단일 테이블에 대한 빠른 쿼리 성능

SELECT firstName, COUNT(*) as num_bob 
FROM DataTable 
WHERE firstName= "bob" 

유사한 쿼리

예는 상기 시간이 오래 걸린다. 데이터베이스/테이블은 인덱싱을 사용하지 않으며 모든 데이터는 단일 테이블에 저장됩니다. 성능 향상을 위해이 쿼리를 다시 작성할 수있는 방법이 있습니까?

감사합니다. GROUP BY를 제거

+0

'FirstName' 열에 색인을 생성하십시오. 그것은 도움이 될 것이다 !! –

+0

"데이터베이스/테이블에서 인덱싱을 사용하지 않습니다."- 왜 안 되니? –

+0

테이블을 만들지 않았고 인덱싱을 사용하지 않는다는 정보를 받았습니다. 테이블에 색인을 만들 권한이 없습니다. 그래서 인덱싱하지 않고 더 나은 성능을 갖춘 쿼리를 만들 수 있는지 묻는 이유입니다. 나는 내 질문에 왜 반대되는 지 이해하지 못한다. – IRoveJS

답변

0

시도 ...

SELECT firstName, COUNT(*) as num_bob 
FROM DataTable 
WHERE firstName="bob"; 

그것은 당신에게 동일한 결과를 제공해야합니다.

0

당신은

은 "(당신의 선택 쿼리)로 테이블을 생성"및 이상이 테이블

이 정상를 선택보다 빠른을 선택 시도 할 수 있습니다.

0

우선 Group By가 필요하지 않은 경우 제거하십시오. 필요한 경우 GROUP BY 대신 DISTINCT 및 ORDER BY를 사용하십시오. this

을 참조하십시오. 분리 레벨을 점검 할 수 있습니다. 그것이 Serializable의 밑에있는 경우에 아무 걱정도. 그러나 Datable에 다른 quires를 멈추는 경우에는 성능이 향상됩니다.

this도 참조하십시오. 너는 내가 생각하기에는 괜찮아.

관련 문제