【发布时间】:2015-05-10 14:08:44
【问题描述】:
表格(简体):
+---------------------------------------------------------------------+
| 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)作为第三个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
【问题讨论】:
标签: mysql