gpt4 book ai didi

MySQL优化: index choice WHERE vs JOIN

转载 作者:行者123 更新时间:2023-11-30 22:21:57 24 4
gpt4 key购买 nike

我有一个特定的查询,我想在(特定日期)主表 tableA 的一部分进行 LEFT JOIN:

SELECT *
FROM (SELECT * FROM `tableA` WHERE date='2016-04-04') a
LEFT JOIN tableB b
ON a.columnA= b.columnB

一些表格统计信息:

tableA: ~1m rows
tableA where date='2016-04-04': 46k rows
tableB: 62k rows

要使用的最佳索引是什么?

最佳答案

这是我的实验和结果:

无索引

Query took 130.0157 seconds.

WHERE 变量索引(表 A 中的日期)

Query took 111.722 seconds.

JOIN 变量的索引(表 A 中的列 A 和表 B 中的列 B)

Query took 10.578 seconds.

JOIN 和 WHERE 变量上的索引(A 列上的一个索引,TableA 中的另一个日期和 TableB 中的 B 列)

Query took 8.327 seconds.

这种情况下的最佳选择:

columnA index and columnB index will be used in JOIN key to improve **a lot**
date index will be used in WHERE key to improve **a bit**

关于MySQL优化: index choice WHERE vs JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36435366/

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