码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 别在被MySQL中count(*)和count(1)的区别文章带偏了,count语句特性


    MySQL官网对于count(*)与count(1)进行了描述,他们在InnoDB中的处理方式相同,没有性能差异,在5.6到8版本都有相同的提示

    MySQL 5.6

    官网:https://dev.mysql.com/doc/refman/5.6/en/aggregate-functions.html#function_count
    在这里插入图片描述

    MySQL 5.7

    官网:https://dev.mysql.com/doc/refman/5.7/en/aggregate-functions.html#function_count
    在这里插入图片描述

    MySQL 8

    官网:https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_count
    在这里插入图片描述

    count语句特性

    1. count(*)和count(1)没有区别
    2. 对于MyISAM引擎,没有where条件的count(*)会非常快
    3. MySQL 8.0.13以上版本InnoDB引擎也对没有where条件的count(*)做了优化
    4. 当没有非主键索引时,会使用主键索引。如果存在非主键索引的话,会使用非主键索引。存在多个非主键索引的话,会使用最小的非主键索引。
    • 为什么使用最小的非主键索引?
      InnoDB引擎的非主键索引,叶子节点存储的是:索引+主键,主键索引叶子节点:主键+表数据。
      在1个page里面,非主键索引可以存储更多的条目,所以使用最小的非主键索引扫描的页更少也就更快。
  • 相关阅读:
    OkHttpClient请求方式详解,及常用OkHttpUtils配置工具类
    秋秋发生大规模账号泄露?二十行代码一键采集
    设计模式-创建型模式-单例模式
    maven打jar包运行jar包
    干货 | 读懂这篇文,玩游戏还会卡顿?
    二、IDEA创建Maven项目
    iClient for Leaflet实现动态绘圆的几何查询
    二进制数的运算原理与门电路实现
    第一次使用马哈鱼血缘分析工具(SQLFlow)
    收单外包机构为何会被强制取消备案
  • 原文地址:https://blog.csdn.net/qq_36724501/article/details/125543422
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号