gpt4 book ai didi

mysql - 使用非 FK 列匹配的另一个表的数据更新表

转载 作者:行者123 更新时间:2023-11-30 01:25:06 25 4
gpt4 key购买 nike

我正在开发一个由前程序员创建的在线注册表。我必须解决一系列与邮政编码和城市有关的数据完整性问题。我正在尝试使用加拿大邮政编码表和注册者表中的数据进行大型更新查询。我的查询似乎在我的开发环境上花费了无限的时间。不知道为什么。

Create Temporary Table RegistrantToChange AS (
SELECT
intID, vcCity, vcPostalCode
FROM
tblRegistrantWebsiteSignUps
WHERE
vcPostalCode NOT LIKE '00%' AND vcPostalCode!=''
AND (vcCity = '' OR vcCity = 'unspecified')
);


UPDATE RegistrantToChange, tblPostalCodes
SET
vcPostalCode = tblPostalCodes.PostalCode
WHERE
vcCity = tblPostalCodes.CityName;

请原谅可怕且不一致的命名。我最近刚刚接手这个项目,并且仍在重构整个项目。

最佳答案

临时表中的 vcCity 未建立索引,如果 tblPostalCodes.CityName 未建立索引,则更新中的 JOIN 需要完成大量工作,并且可能需要一些时间。

我建议首先使用 vcCity 上的索引创建临时表,然后执行 INSERT...SELECT 来填充它。确保 tblPostalCodes.CityName 已编入索引,然后执行更新。

关于mysql - 使用非 FK 列匹配的另一个表的数据更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18087610/

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