我们有大约1000万条记录的MySql表
下面是我的表中的列
c_id、s_id、c_name、域、log_type、log_time、级别、消息
我们有这些列的索引
c_id、s_id、域、log_type、log_time
我正在运行以下简单的查询,它需要很长的时间,大约5分钟的
SELECT
c_id,
s_id,
c_name,
l_time,
l_type,
m,
UNIX_TIMESTAMP(l_time) AS time
FROM
stats.c_logs
WHERE
domain='xxx' and
log_type='E_O'
ORDER BY
log_time DESC
LIMIT 10;
为什么结果需要这么长时间,当我删除where子句中的一个条件时,我得到的结果很快,但使用and条件需要时间
我已经看到,如果我删除订单,结果是快速
如果你想要更多的细节,我可以在这里提供
查询的最佳索引是:campaign_logs(domain, log_type, log_time)
上的复合索引。
列上的各个索引将不那么有效。