zoukankan      html  css  js  c++  java
  • 单行函数遇到null和count的效率

    之前讲过和NULL做加法结果一定是null。

    当你的一个表里的数据类型为int的字段里存在null的时候,用sum方法,这个时候结果不会是null。

    这说明了sum函数会自动过滤掉内容为null的记录。

    同理,avg() ,max() ,min()也一样会过滤null。

    count函数的详细介绍

    select count(salary) from employees;

    这条语句会返回有salary的记录数量。但是如果用这个语句来获取总的记录数量是不稳定的

    select count(*) from employees;

    这条语句是只要一条记录中,有一个字段有值,那么count就会+1,比上面那句稳定很多。

    select count(1) from employees;

    这条语句的意思是,给每条记录都加一个字段,值为1,稳定性最高,一定会返回正确数量。

    括号里的 1 可以填随意的数字或者字符。

    效率

    MYISAM存储引擎下, count(*) 效率最高,因为这个存储引擎内部有一个计数器,直接就会返回。

    INNODB存储引擎下, count(*) 和 count(1)的效率差不多,比count(字段)高。

  • 相关阅读:
    从迷宫终点出发——Leo鉴书36
    OCP-1Z0-053-V13.02-238题
    OCP-1Z0-053-V13.02-233题
    OCP-1Z0-053-V13.02-232题
    OCP-1Z0-053-V13.02-228题
    OCP-1Z0-053-V13.02-226题
    OCP-1Z0-053-V13.02-225题
    OCP-1Z0-053-V13.02-221题
    OCP-1Z0-053-V13.02-219题
    OCP-1Z0-053-V13.02-216题
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11674942.html
Copyright © 2011-2022 走看看