1. 字段自减

UPDATE `table_name` SET `total`=IF(`total` < 1, 0, `total`-1) WHERE `id` = 1;

一般在做字段减法的时候我们需要在外部判断一次数值

这样可以省去一次外部数值判断的查询,也可以防止无符号字段 total 为0时 数值溢出,将变成最大值或者报错的情况

2.
UPDATE 的 SET 使用子查询数据

UPDATE `bz_xs_chapter` AS c,
(SELECT COUNT(*) AS total FROM `bz_xs_chapter` WHERE `bookId` = 22042) AS c1,
(SELECT COUNT(*) AS total FROM `bz_xs_tome` WHERE `bookId` = 22372) AS c2
SET
`c`.`name`=`c1`.`total`,
`c`.`words`=`c2`.`total`
WHERE `c`.`id` = 2889820

这样可以通过子查询一次更新多个字段值,效率要高很多了吧

3. COUNT(*)效率高

之前看过许多相关帖子,有的说使用 COUNT(id) 效率高,各说各的看起来都有理,但自己测试:

270W数据,350MB大小数据表,COUNT(*) 比 COUNT(id) 速度快了至少 10 倍 甚至 100 倍

最新文章

  1. 【Unity3d】Ray射线初探-射线的原理及用法
  2. Lnmp环境的自搭建
  3. SBM is Not Sale And Run Company
  4. hostname
  5. nginx做负载均衡配置文件
  6. 什么是Code Review
  7. Android中图片的目录
  8. Linux Centos 系统上安装BT客户端 Transmission
  9. RF接口测试本地环境部署
  10. 第一次使用unity3d
  11. kafka原理和实践(六)总结升华
  12. redis 系列21 复制Replication (上)
  13. 重写apply, call, bind方法
  14. Java面试题整理---网络篇
  15. ARMCortex系列仿真调试器
  16. PCA主成分分析+白化
  17. 【架构师之路】Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》
  18. charles使用教程 干货~
  19. A - 还是畅通工程(最小生成树)
  20. 我所了解的关于JavaScript定义类和对象的几种方式

热门文章

  1. iis与 asp.net管道(asp.net应用程序什么周期)
  2. Day3:T1数论+高精 T2搜索
  3. [转]OPENSOLARIS 2009.06 REPOSITORY ISO IMAGES NOW AVAILABLE
  4. BlackBerry Phonegap项目的搭建
  5. (转)JS中公共/私有变量和方法
  6. CVPR 2013
  7. 扩展jquery easyui datagrid编辑单元格
  8. Windows 安装Mongoliadb
  9. excel==&gt;csv==via phpmyadmin (edit php.ini &amp; my.ini)==&gt; MySQL Database
  10. 设置session超时