我正在使用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;
但不幸的是,我似乎無法得到良好的表現出這。它總是需要使用文件夾。有沒有辦法從這個設置獲得更好的性能,還是我需要考慮一個不同的數據庫?
我明白爲什麼它不起作用。我想知道是否有一個索引可以同時滿足此查詢中的WHERE和ORDER BY。 –