mysql - MySQL 中哪个更快,更新整个表或使用 WHERE 子句更新?
问题描述
我有一个简单的问题。有类似的问题。但没有一个让我满意。
查询:
UPDATE products SET indexed = 1;
和
UPDATE products SET indexed = 1 WHERE indexed = 0;
哪一个给定的查询会更快?
表中的行数可以在 1M 和 2M 之间。行数indexed = 0
最多为 1K 行。
解决方案
更快,UPDATE products SET indexed = 1 WHERE indexed = 0;
因为它只会在索引为 0 的行上查找和更新
编辑:还要检查@EzLo 的建议!
推荐阅读
- node.js - 在 Mac OS 上使用 WebRTC 和 Electron 进行屏幕共享和视频/音频通话
- java - Spring Boot 应用程序卡在:Initializing Spring DispatcherServlet 'dispatcherServlet'
- javascript - 剪刀石头布更有效的选择比较
- docker - docker扩展基础操作系统
- c# - C# 文件复制和粘贴
- c++ - 后缀数组算法实现
- excel - 对于每个代码没有使复选框值为真
- javascript - 我应该在哪里存储 oauth 访问令牌?
- ios - 在 Windows 10 上工作时,在 iOS 上插入 TextBox 会导致 1004 错误
- mysql - 只选择有多个作者的书并显示书名、出版商和作者姓名