我需要用我根据 CodeID 创建的新名称替换 20 000 多个名称。
例如:我必须用“cat”更新包含“dog”(其 CodeID 为 1)的所有行,并用“bird”更新包含“horse”(其 CodeID 为 2)的所有行,等等。
第一个 SQL 语句:UPDATE AnimalTable SETcDescription
=“猫”哪里CodeID
= 1
第二条 SQL 语句:UPDATE AnimalTable SETcDescription
=“鸟”哪里CodeID
= 2
这些语句有效,但我需要一种更快的方法来执行此操作,因为我有超过 20 000 个名称。
先感谢您。
这是最快的方法。
或者您想在单个命令中更新所有记录?
您可以通过连接进行更新(固定语法...有一段时间没有使用过这个)
UPDATE animalTable
INNER JOIN CodeTable ON animalTable.CodeID = CodeTable.ID
SET animalTable.cDescription = CodeTable.Description_1;
另一种选择是将更新分成较小的批次,这将减少表被锁定的时间...但是更新的总时间将花费更长的时间(这只是对预期性能的改进)您可以通过仅更新某些每批次的 ID 范围。
您也可以将该数据放在单独的表中。由于数据未标准化。将其移开,使其更加标准化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)