• ADADADADAD

    mysql中count(1)与count(*)比较[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 12:11:12

    作者:文/会员上传

    简介:

    count详解:
    count(*)将返回表格中所有存在的行的总数包括值为null的行,然而count(列名)将返回表格中除去null以外的所有行的总数(有默认值的列也会被计入).
    distinct 列名,得到

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    count详解:
    count(*)将返回表格中所有存在的行的总数包括值为null的行,然而count(列名)将返回表格中除去null以外的所有行的总数(有默认值的列也会被计入).
    distinct 列名,得到的结果将是除去值为null和重复数据后的结果

    sql调优,主要是考虑降低:consistent gets和physical reads的数量。
    count(1)与count(*)比较:
    如果你的数据表没有主键,那么count(1)比count(*)快
    如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快
    如果你的表只有一个字段的话那count(*)就是最快的啦
    count(*) count(1) 两者比较。主要还是要count(1)所相对应的数据字段。
    如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。
    因为count(*),自动会优化指定到那一个字段。所以没必要去count(?),用count(*),sql会帮你完成优化的

    总结三条经验
    1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;
    2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = 'value’ 这种查询;
    3.杜绝SELECT COUNT(COL) FROM tablename的出现。

    mysql中count(1)与count(*)比较.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: countmysql比较