gpt4 book ai didi

mysql - 如何在MYSQL中为两个表创建索引

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

我有两张 table 。第一个包含网站用户输入的租赁特性的CityStateZip。一些城市名称拼写错误。第二个表包含美国邮政服务中几乎所有(但不是全部)城市 和美国城市的邮政编码

我正在尝试运行以下 SQL 语句,以使用美国邮政服务提供的正确名称更新租赁属性(property)表记录。但仅适用于具有特定“Payment_Plan”的记录。我将针对大约 15 种不同的“Payment_Plan”类型重复使用此语句。因此,唯一会改变的是“Payment_Plan”中给出的值:

UPDATE tblRentals 
LEFT JOIN tblZip
ON tblRentals.List_Zip = tblZip.Zip
AND tblRentals.Payment_Plan = 'LINX'
SET tblRentals.List_City = tblZip.City;

我使用的是 LEFT Join,因为并非每个邮政编码都在我的美国邮政表版本中,因为它已有几年历史了。

该 SQL 语句只需要 15 秒即可更新 200 条记录。我猜这是因为我需要在两个表之间建立某种索引。 tblRentals 中有 125,000 条记录,tblZip 中有大约 45,000 条记录。

我确实不太了解索引,但是创建索引以加速索引的正确 SQL 语法是什么?

最佳答案

从评论中发帖来回答,以便可以关闭此问题:

tblRentals.List_Zip 上添加索引。

是的 - 如果您希望 tblRentals 中有邮政编码但 tblZip 中没有匹配项的记录保持不变,请使用 INNER JOIN 而不是 LEFT JOIN

关于mysql - 如何在MYSQL中为两个表创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20934859/

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