MySQL-count语法使用与对比

  • mysql

posted on 17 Sep 2019 under category 技能 原创

概述

本文将对MySQL的count(1), count(*), count(column)进行对比分析。

作用与区别

作用

  • count(1): 统计表中所有记录数,包括字段为null的记录。
  • count(*):count(1)作用相同,统计表中所有记录,包括字段为null的记录。
  • count(column): 统计该字段在表中出现的次数,忽略该字段为null的记录,但不会忽略0或空字符串的记录。

区别

  • count(column)中的column若不为primary key时,会忽略column为null的记录。
  • 效率上count(*)count(1)相差不大,count(pk)次之,count(non-index)最慢。

验证-数据表无null值或空值

表结构

count结果

count对比图

验证-数据表存在null值或者空值

更新部分字段为null或空值

count结果

count对比图

验证-name字段具有索引

添加name字段索引

count对比图