【发布时间】:2012-08-30 17:32:49
【问题描述】:
我在一个相对较大的表(约 2000 万行)上使用以下查询:
SELECT
MAX(`col_1`)
FROM `table`
WHERE
col_2 = X AND
col_3 = Y AND
col_4 = Z
我在 col_2、col_3 和 col_4 列上有一个组合索引,在 col_1 上有一个单独的索引,但查询仍然比没有 WHERE 部分的同一查询慢多个数量级。
如何使用索引来提高性能?
【问题讨论】:
-
您是否检查过索引是否与“解释”一起使用?索引是否包含按此确切顺序排列的列?
-
你用的是什么引擎? MyISAM 还是 InnoDB?
-
引擎是 InnoDB。我在所有 4 列上也有一个索引,它必须按特定顺序吗?
标签: mysql performance indexing query-optimization