|
发表于 31-7-2015 10:10 AM
|
显示全部楼层
早上好,
简单的Update Statement 基本上没办法做所谓的 query optimization,
除非你有用到 In / Join 等
在你的Case, 优化比较外部的东西,
例如:
- UPDATE tableX
- SET [a] = [a]*4
- WHERE [time] < Cast('2015-07-10' as datetime) AND
- [a]*4 <= 48
复制代码
你会用到 time 跟 a 这两个field 作为update 条件,
你可以尝试将 time 跟 a这两个field 设定 b-tree index
这样如果你的资料多, 你的update 依然会快
另外如果你的资料很多(以几milion 这样算)
为你的update statement 加入确切的时间会缩小需要update 的笔数, 进而改进速度
例如:
- UPDATE tableX
- SET [a] = [a]*4
- WHERE [time] < Cast('2015-07-10' as datetime) AND
- [time] > Cast('2015-07-01' as datetime) AND
- [a]*4 <= 48
复制代码
目前我想到的只有这样.
共勉之.
|
|