Mysql 一次发出多个sql update语句
我必须以以下形式发出大约1M个sql查询:Mysql 一次发出多个sql update语句,mysql,sql,Mysql,Sql,我必须以以下形式发出大约1M个sql查询: update table1 ta join table2 tr on ta.tr_id=tr.id set start_date=null, end_date=null where title_id='X' and territory_id='AG' and code='FREE'; sql语句位于文本文档中——我只能按原样复制粘贴它们 最快的方法是什么?是否有一些我可以禁用的检查,以便它只在末尾插入它们?例如: start transactio
update table1 ta join table2 tr on ta.tr_id=tr.id
set start_date=null, end_date=null
where title_id='X' and territory_id='AG' and code='FREE';
sql语句位于文本文档中——我只能按原样复制粘贴它们
最快的方法是什么?是否有一些我可以禁用的检查,以便它只在末尾插入它们?例如:
start transaction;
copy/paste all sql statements here;
commit;
我尝试了上述方法,但发现插入件的速度提高为零。还有什么我可以尝试的吗?性能成本部分归因于运行1M个单独的SQL语句,但也归因于重写行和相应索引的成本 我的意思是,执行SQL语句有几个步骤,每个步骤都需要非零的时间:
如果您想让我检查一下,请为更新中的每个表运行
showcreatetable
,并为示例SQL语句运行explainupdate…
。将输出添加到上面的问题中(请不要粘贴评论)。有什么方法可以将它们合并到一个更新中吗?你在做什么有什么模式吗?@Barmar不确定,但这些语句来自excel。它们都测试相同的列吗?确保它们上有多列索引。