4、SQL知识-count(*)、count(字段) 、count(distinct字段) 的区别是什么?

1、从执行效果看 :
count(*)包括了所有的列,相当于行数,在统计结果的时候, 不会忽略列值为NULL

count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候, 不会忽略列值为NULL

count(字段)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数, 即某个字段值为NULL时,不统计。

2、从执行效率看:
列名为主键,count(指定字段)会比count(1)快列名不为主键,count(1)会比count(指定字段)快

如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)

如果有主键,则 select count(主键)的执行效率是最优的

如果表只有一个字段,则 select count(*)最优。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 03:34:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 03:34:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 03:34:01       87 阅读
  4. Python语言-面向对象

    2024-04-04 03:34:01       96 阅读

热门阅读

  1. 反转链表1

    2024-04-04 03:34:01       44 阅读
  2. C 从函数返回指针

    2024-04-04 03:34:01       35 阅读
  3. 最大子序列和问题的求解

    2024-04-04 03:34:01       39 阅读
  4. 深度学习| Pytorch实现DiseLoss代码

    2024-04-04 03:34:01       37 阅读
  5. ubuntu安装和缷载squid

    2024-04-04 03:34:01       39 阅读
  6. llama-factory简介

    2024-04-04 03:34:01       35 阅读
  7. Docker安装Kafka

    2024-04-04 03:34:01       34 阅读
  8. 给计算机入坑的寄语吧

    2024-04-04 03:34:01       38 阅读
  9. 图像分类模型AlexNet原理与实现

    2024-04-04 03:34:01       35 阅读
  10. 面试算法-127-优势洗牌

    2024-04-04 03:34:01       30 阅读
  11. AudioLDM2全文翻译

    2024-04-04 03:34:01       33 阅读