我陷入了一个简单的更新查询。我有一个表说 tabble1 包含“名称”和“电话号码”列。现在,当我上传包含姓名和联系电话列表的 csv 文件时,我想用前一个更新重复号码的名称。例如。我有一行包含'max''8569589652'。现在,当我用另一个名字上传相同的号码时说“stela”“8569589652”,那么 stela 应该会更新到最大。
为此,我创建了另一个表 table2。然后我将 table1 中的所有重复条目收集到 table2 中。之后用以前的名称更新了新条目。
以下是我的查询:收集所有重复条目:
INSERT INTO table2 SELECT phone_no,name FROM table1
GROUP BY phone_no HAVING COUNT(*)>1;
更新表 1 中的重复条目:
UPDATE table1.table2 SET table1.name=table2.name
WHERE table1.phone_no=table2.phone_no ;
我的问题是当我运行这两个查询时,它花费了太多时间。上传 1000 个数字的 csv 文件需要半个多小时。请建议我优化查询以在更短的时间内上传 csv。
上传速度是否与数据库大小有关..请帮忙。
提前致谢。