저는 MySQL을 사용하고 있으며 다른 인덱스에 저장할 데이터의 표준 버전으로 사용하려고하는 데이터베이스가 있습니다. 즉, 기본 키를 사용하여 데이터 집합을 신속하게 검색 할 수 있어야하지만 그 데이터를 순서대로 정렬해야합니다. MySQL이 효율적으로 그렇게 할 수있는 방법을 알 수 없습니다.기본 키로 검색 한 다음 정렬하십시오.
내 표는 다음과 같습니다 :
CREATE TABLE demo.widgets (
id INT AUTO_INCREMENT,
-- lots more information I need
awesomeness INT,
PRIMARY KEY (id),
INDEX IDX_AWESOMENESS (awesomeness),
INDEX IDX_ID_AWESOMENESS (id, awesomeness)
);
그리고 난의 라인을 따라 뭔가하고 싶은 :
SELECT *
FROM demo.widgets
WHERE id IN (
1,
2,
3,
5,
8,
13 -- you get the idea
)
ORDER BY awesomeness
LIMIT 50;
을하지만 불행하게도 나는이 밖으로 좋은 성능을 얻을 수없는 것 . 항상 filesort에 의존해야합니다. 이 설정에서 더 나은 성능을 얻을 수있는 방법이 있습니까? 아니면 다른 데이터베이스를 고려해야합니까?
나는 그것이 작동하지 않는 이유를 이해합니다. 이 쿼리에서'WHERE'와'ORDER BY'를 만족시킬 수있는 인덱스가 있는지 알고 싶습니다. –