2017-09-28 17 views
0

느린 : 우리가 얻을MAPD 텍스트 필드 다음 쿼리를 벤치마킹에서

SELECT * from test order by c0 asc limit 1 

10 명 중 시험 :

Took: 7877 ms. (7.877 s) 
Took: 15617 ms. (15.617 s) 
Took: 8067 ms. (8.067 s) 
Took: 15924 ms. (15.924 s) 
Took: 8057 ms. (8.057 s) 
Took: 15864 ms. (15.864 s) 
Took: 15455 ms. (15.455 s) 
Took: 15245 ms. (15.245 s) 
Took: 7857 ms. (7.857 s) 
Took: 15624 ms. (15.624 s) 

c0 텍스트 필드입니다. 이 쿼리의 속도가 느린 이유는 무엇입니까? 이 문제를 해결하거나 다른 데이터베이스에서 0.1 초가 걸리는 쿼리가 허용 될 수 있도록 해결 방법이 있습니까?

답변

1

테이블의 행 수는 얼마나됩니까? c0의 카디널리티는 무엇입니까? 벤치 마크 세부 정보 및 데이터에 액세스 할 수 있습니까?

MapD에는 인덱스가 없으므로 이와 같이 표현 된 s0와 함께 정렬은 c0 열에 대해 완전하게 실행되며이 특정 스타일의 쿼리 계획에 맞게 최적화되지 않았습니다.

는 쿼리에 대한 더 성능이 좋은 결과를 다음과 같이 다시 작성하려고 얻으려면

select * from test where c0 in (select c0 from test group by c0 order by c0 asc limit 1) limit 1;

약간 긴 호흡하지만 난 당신이 더 나은 성능을 찾을 수 있기를 바랍니다. 다음 쿼리는 다시이 답변에 대한 주위 100ms의

select * from tweets_new where county_state in (select county_state from tweets_new group by county_state order by county_state asc limit 1) limit 1;

+0

감사에서 제공되는 온라인 400m 트위터 데이터 세트를 사용

이 많이 도움이됩니다. 'SELECT * ORDER BY x' 문을 지원/최적화 할 계획이 있습니까? 즉, 집계가 mapd에서 실행되는 것처럼 정상적으로 실행될 수 있습니까? – David542