我有一个邮政编码,可以更新多个数据(阶段中超过10000个)。 它使用临时表,但是非常慢。 在具有Dapper的.net核心2.2中,处理时间超过600秒,我不知道为什么?
我尝试了两种不同的方法来修复它, 像这样:
CREATE TEMPORARY TABLE IF NOT EXISTS t_example_temp(
id int,
name int,
created_time datetime,
creator_source int,
creator_sn int,
is_del int,
isUpdate int);
-- and insert over 100000 data in this temp table, and next:
-- 1st practice
update t_example as a , t_example_tempas as b
set a.id = b.id ,
a.created_time =b.created_time ,
a.creator_sn =b.creator_sn ,
a.is_del = b.is_del
WHERE a.id= b.id and b.isUpdate = 1;
-- 2nd practice
update t_example as a inner join t_example_tempas as b on a.id = b.id
set a.id = b.id ,
a.created_time =b.created_time ,
a.creator_sn =b.creator_sn ,
a.is_del = b.is_del
WHERE b.isUpdate = 1;
两种语法也很慢... 我怎样才能更快?
答案 0 :(得分:1)
对不起... 我只是忘了在临时表中添加索引...
file:///
对不起,只是愚蠢的问题。