MySQL语句相关经验总结
2014-03-27 00:00
260 查看
1. 字段自减
一般在做字段减法的时候我们需要在外部判断一次数值
这样可以省去一次外部数值判断的查询,也可以防止无符号字段 total 为0时 数值溢出,将变成最大值或者报错的情况
2. UPDATE 的 SET 使用子查询数据
这样可以通过子查询一次更新多个字段值,效率要高很多了吧
3. COUNT(*)效率高
之前看过许多相关帖子,有的说使用 COUNT(id) 效率高,各说各的看起来都有理,但自己测试:
270W数据,350MB大小数据表,COUNT(*) 比 COUNT(id) 速度快了至少 10 倍 甚至 100 倍
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 倍
相关文章推荐
- MySQL语句相关经验总结
- MySql相关语句总结
- 数据库的相关经验总结
- MySQL复制相关技术的简单总结
- MySQL语句总结1
- MySQL / SQL Server / Oracle / MS Access的sql语句联系区别总结
- MySQL语句操作数据库总结
- mysql建表查询语句总结
- mysql 多表 update sql语句总结
- Oracle和Mysql-可行的插入多条记录的SQL语句(总结)
- Mysql优化常用经验总结
- mysql操作数据库总结sql语句总结
- Mysql语句总结(3)
- 最近总结的mysql分组排序查询语句
- mysql语句优化总结(一)
- SQL语句相关总结
- Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结
- mysql基础语句总结
- MySQL索引实战经验总结
- MySQL语句总结