表格(简化):
+---------------------------------------------------------------------+
| id (Primary AI) | user_id | status | type | data | ip |
+=====================================================================+
| 1 | 3 | 0 | abc | a-s-d | - |
+---------------------------------------------------------------------+
| 2 | 1 | 0 | ooo | z-z-z | - |
+---------------------------------------------------------------------+
| 3 | 3 | 0 | ooo | f-f-f | - |
+---------------------------------------------------------------------+
| 4 | 2 | 0 | abc | h-h-h | - |
+---------------------------------------------------------------------+
| 5 | 1 | 0 | abc | a-s-d | - |
+---------------------------------------------------------------------+
更多信息:
ID
是此表的主键(自动增量)请注意,我已将
ID (Primary Key)
用作新索引的第3个Seq_in_index
我为上述表格
创建了一个综合索引 CREATE INDEX userid_type_id ON table (user_id, type, id);
此索引中的
id
仅用于排序。
SELECT id, status, data, ip
FROM `table`
WHERE user_id=3 AND type='abc'
ORDER BY id DESC;
在复合索引中插入ID
是一种好的(性能)做法吗?因为它仅用于ORDER BY
可以使用ID(主键)作为索引中的第三个序列,而它是表格的第一列
我是否根据示例查询正确选择了我的索引?
我使用InnoDB
答案 0 :(得分:4)
答案取决于您使用的引擎:
答案: