gpt4 book ai didi

php - 了解为什么这个 MySQL 外部选择会减慢查询速度

转载 作者:行者123 更新时间:2023-11-29 03:33:13 24 4
gpt4 key购买 nike

我有一个 Companies 表和一个 Zipcodes 表,我想在应用其他处理之前获取公司 ID 的最小子集。因此,我经常将其放在内部选择中,在某些 WHERE 条件下获取公司 ID,然后在外部进行一些聚合或计算(例如距离计算)。

出于某种原因,我不明白为什么这个外部 SELECT 很慢,而内部查询却非常快。

我知道这与内部的 JOIN 有关。因为删除它可以解决问题。 MySQL 以某种方式导出表...
从 ( 选择 _i1.companyID
选择公司ID
来自公司
在 Zipcodes.zipcode = Companies.companyZipcode 上加入邮政编码
WHERE Companies.companyType = '管道'
) _i1
时间:.8s
没有外部查询:.00x 秒

Zipcodes.zipcodeCompanies.companyZipcode 以及 Companies.companyTypeCompanies.companyID 上有索引是主键。

执行 EXPLAIN 表明外部查询导致 MySQL 的 select_type 为 Derived 而不是 Simple。

最佳答案

当您有子查询时,需要创建一个临时表并将数据插入其中。

关于php - 了解为什么这个 MySQL 外部选择会减慢查询速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27429271/

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