我有一个需要“清理”的大型地址数据库。
例如,地址包含县但不总是在同一个字段中,有时它在地址3中,有时地址4或根本不包含。
我把所有内容放在一个表中,创建了一个名为County的新字段,php将数据(每次1000行进行测试)加载到数组中。
搜索“CO”。在地址3或4中,如果找到,则将该单元格的内容复制到“县”。到目前为止一切都很好。
问题是它运行得非常慢,我使用以下内容作为UPDATE:
$ update =“更新机会SET County ='”。 $ address4。 “'”。 “WHERE id =”。 $ ID;
有没有比为每个条目运行上述行更快的方法?
答案 0 :(得分:5)
直接在SQL中执行它会更快,但就其本质而言,这种字符串搜索会非常慢:
UPDATE opportunities
SET County = CASE
WHEN address3 LIKE '%CO.%' THEN address3
WHEN address4 LIKE '%CO.%' THEN address4
END