首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化MySQL中的UPDATE语句

问优化MySQL中的UPDATE语句
EN

Stack Overflow用户
提问于 2017-10-18 16:22:11
回答 1查看 48关注 0票数 0

在MySQL中,我有一个表,其中存储了近100列和33000行数据。我正在尝试运行一个过程,该过程将根据某些条件更新表中的所有列或在表中插入新行。大概是这样的:

代码语言:javascript
复制
IF (v_Rows > 0) then
UPDATE tab1 SET
col1 = var1,
col2 = var2,
. . .
col95 = var95
WHERE id = var_id
 ELSE
insert into tab1 values 
(var1, var2, ... var95)
END IF;

这些语句的执行时间太长。我很好奇这样的结构是如何优化的?

EN

回答 1

Stack Overflow用户

发布于 2017-10-19 01:33:55

请参阅

它使用唯一键来确定行是否已经存在,然后...

  • 如果它不存在,它会更新它确实存在,它会更新您指定的任何内容。

使用col22 = VALUES(col22)避免对已经提供的var22进行“更新”。参见。

如果要以相同的方式同时应用多个行,

代码语言:javascript
复制
INSERT INTO tbl (col1, ...)
    SELECT col1, ... FROM source_tbl ...
    ON DUPLICATE KEY col1 = VALUES(col1), ...;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46805716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档