MySQL语句相关经验总结_MySQL

WBOY
풀어 주다: 2016-06-01 13:18:36
원래의
701명이 탐색했습니다.

MySQL语句

1. 字段自减

  UPDATE `table_name` SET `total`=IF(`total`

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

  这样可以省去一次外部数值判断的查询,也可以防止无符号字段 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 倍

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿