B 열에 의해 인덱싱 된 C 열과 주어진 상수 k가있는 테이블 T가 있다고 가정합니다. 다음 쿼리의 결과를 가정하는 것은 n은 다음과 같습니다임의의 DBMS에 대한 로그 시간 카운트 (*) 범위 쿼리
select count(*) from T where C > k;
내가 B- 트리 색인 열 C로, MySQL은 (이노) 이러한 쿼리를 시도하고, n의 값을, 더 큰 실현을 느린 질문. 큰 테이블 (GBs)에서, 나는 심지어 몇 분을 기다려야한다. 그래서, 시간 복잡성은 n에 대해 선형이라고 추측합니다. 그러나 테이블 크기와 관련하여 대수적 인 시간에 수행 할 수있는 B-Tree 내부 노드에 대한 집계 정보가 저장되어 있는지 알고 있습니다.
누구든지 DBMS에 로그 솔루션을 제안하거나 MySQL의 쿼리 시간을 줄이기 위해 어떤 트릭을 제안 할 수 있습니까?
고맙지 만 내 질문에 대한 답변이 아닙니다. –
로그 방식으로 색인을 작성하는 한 가지 방법은 색인을 사용하는 것입니다. 나는 또한이 페이지를 추천한다. (DBMS는 문법에 약간의 변형이있다.) [Luke 색인을 사용한다] (http://use-the-index-luke.com/sql/table-of-contents) –
다시 한번 읽으십시오. 내 질문. 이미 색인을 사용했습니다. 모든면에서 제 질문에 대해 오해하셨습니다. 덕분에 –