mysql更新设置语句的速度.乘以一列

mysql更新设置语句的速度.乘以一列,第1张

概述我在MySql表“ temp”中有一百万行,并希望将列“ t”(int无符号,索引)乘以1000.mysql> update temp set t=1000*t; 此过程需要25秒.对未编制索引的列执行相同的语句需要10秒钟;有什么想法可以使这个过程更快吗?我必须将其应用于超过1e5的表.最佳答案索引与这里的问题无关.考虑一下您在做什么-您正在对表中的

我在MySql表“ temp”中有一百万行,并希望将列“ t”(int无符号,索引)乘以1000.

MysqL> update temp set t=1000*t;

此过程需要25秒.对未编制索引的列执行相同的语句需要10秒钟;

有什么想法可以使这个过程更快吗?我必须将其应用于超过1e5的表.

最佳答案索引与这里的问题无关.考虑一下您在做什么-您正在对表中的所有行进行突变,因此,无论如何选择它们,并且无论是否在t上都有索引,都仍在扫描整个表.

UPDATE *** 作== IO是您的瓶颈.获取更快的磁盘.

如果您使用的是InnoDB,我的唯一建议是查看将innodb_flush_log_at_trx_commit调整并将其设置为2是否有助于提高性能,但我对此表示怀疑,因为它只是1个查询.禁用密钥并在UPDATE之后重新启用它们在InnoDB中不起作用. 总结

以上是内存溢出为你收集整理的mysql更新/设置语句的速度.乘以一列 全部内容,希望文章能够帮你解决mysql更新/设置语句的速度.乘以一列 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/sjk/1165392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存