[英]Should we include sort column, primary key on composite index (MySQL)
表格(簡體):
+---------------------------------------------------------------------+
| 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
答案取決於您使用的引擎:
所以答案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.