我正在使用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。 –