기본 쿼리로 인덱스를 올바르게 사용하는 방법을 이해하려고합니다.간단한 선택 쿼리로 인덱스 이해
예 : 나는 다음과 같은 열이있는 테이블 'testme라는'가
:
id int primary key
username varchar(20)
data1 int
data2 int
data3 int
data_order int
이
select username,data1,data2 from testme where data3=5 order by data_order;
인덱스의 종류 내가 속도를 사용할 수 있습니다 난 경우를 쿼리?
나는 clums data3 및 data_order에 색인을 추가하려고 시도했지만 그 쿼리에 '설명'한 결과는 해당 색인을 사용하지 않는다는 것을 보여줍니다.
업데이트 : -
색인 데이터 3 (해시에 당신이 데이터 3 만 쿼리 존재하는 것이 확실한 경우이 특정 쿼리에 대한 MySQL 클러스터 (NDB)
테이블의 크기는 어느 정도입니까? MySQL에 대해서는 잘 모르겠지만 많은 RDBMS에서 인덱스보다는 테이블 스캔에 의해 상대적으로 작은 테이블 (일반적으로 약 100,000 개 미만의 행)에 액세스하는 것이 더 빠릅니다. –
이 테이블은 실제로는 작지만이 쿼리는 저속 쿼리 로그에 나타납니다. – ufk
'(데이터 3, 데이터 _ 순서) '에 대한 BTREE 인덱스는 @Dems가 제안해야하는 것처럼 좋습니다. – newtover