gpt4 book ai didi

mysql索引列连接顺序

转载 作者:行者123 更新时间:2023-11-29 15:42:19 25 4
gpt4 key购买 nike

我有两个表(请求、结果)

请求:电子邮件

结果:电子邮件,processed_at

我现在想要获取具有同一电子邮件地址且尚未处理的请求的所有结果:

SELECT * FROM results
INNER JOIN requests ON requests.email = results.email
AND results.processed_at IS NULL

我在每个单独的列上都有一个索引,但是查询非常慢。所以我假设我需要对结果进行多列索引:

我只是不确定列的顺序:

ALTER TABLE results 
ADD INDEX results_email_processed_at (email,processed_at)
ALGORITHM=INPLACE LOCK=NONE;

ALTER TABLE results 
ADD INDEX results_processed_at_email (processed_at,email)
ALGORITHM=INPLACE LOCK=NONE;

最佳答案

任一综合指数都同样有益。

但是,如果您要获取表的 40%,那么优化器可能会选择忽略任何索引并简单地扫描表。

这是实际的查询吗?如果没有,请向我们展示实际的查询;许多看似微小的变化可能会对优化选项产生很大的影响。

请提供EXPLAIN SELECT ...,以便我们可以了解它对当前索引的想法。如果存在相关的数据类型问题,请提供SHOW CREATE TABLE

关于mysql索引列连接顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57478676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com