gpt4 book ai didi

mysql - 左连接对多列性能的影响?

转载 作者:可可西里 更新时间:2023-11-01 08:21:25 24 4
gpt4 key购买 nike

假设我有 2 个表:

table1 :(20.000 records)
id code1 code2 something status

table2: (7.500 records)
id code1 code2 name

我想要的只是使用此查询列出表 1 中具有表 2 中“名称”的所有记录:

SELECT DISTINCT `tb1`.*, `tb2`.`name` FROM `table1` AS `tb1`
LEFT JOIN `table2` AS `tb2`
ON (tb1.code1 = tb2.code1 AND tb1.code2 = tb2.code2)
WHERE (tb1.status = 1)

但是我检索数据的时间太长了(5分钟后我仍然看不到结果)。

执行此操作的最佳方法是什么?

提前致谢..

最佳答案

请尝试使用列(代码 1、代码 2、状态)在表 1 上添加索引。如果 table1 中的列不多,也可以将它们添加到索引中。在 MS SQL 中,我们有可以添加到索引的“包含列”。也许mysql有类似的东西。

使用 columns(code1,code2, name) 在 table2 上添加索引。

如果您担心索引大小,那么只需为 index1 保留 (code1, code2, status) 并为 index2 保留 (code1, code2)。

希望这对您有所帮助。

关于mysql - 左连接对多列性能的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564481/

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