第51讲:SQL优化之COUNT查询的优化
SQL 优化 查询 count 51
2023-09-14 09:09:23 时间
1.COUNT查询优化的概念
在很多的业务场景下可能需要统计一张表中的总数据量,当表的数据量很大时,使用COUNT统计表数据量时,也是非常耗时的。
MyISAM引擎会把一个表的总行记录在磁盘中,当执行count(*)的时候会直接从磁盘中读取总数然后进行返回,效率很高,当时如果使用count统计某个字段不为NULL的数据总数时,MyISAM也会很慢。
INNP引擎相对更麻烦,执行count(*)时,就需要把数据一行一行从引擎中读出来,然后进行累积计数。
想要大幅度提升InnoDB中count的效率,主要优化思路就是自己计数,但是带条件的count还是会比较麻烦。
我们可以根据count的用法,最大可能性的优化count的效率。
count是一个聚合函数,对于返回的结果集进行一行行的判断,如果count函数取到的一行数据不为NULL,那么累加值就加1,否则不计数,最后返回累积的值。
2.COUNT函数的用法
COUNT(主键):
- 当使用count(主键)这种方式时,InnoDB引擎会便利整张表,然后将每一行的主键字段的值取出来,返回给服务层,服务层拿到主键后,直接按照行进行累加,主键字段不可能为NULL值&#x
相关文章
- mysql多列 in多个字段优化sql语句
- SQL Server远程数据库操作(备份、还原等)
- SQL语句优化
- SQL存在一个表而不在另一个表中的数据
- 【SQL优化器】初始化参数
- 携程SQL上线流程优化,如何从源头扼杀慢查询?
- SQL优化这5个极简法则,直接让查询原地起飞!
- MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种
- sql索引优化
- 掀开SQL的神秘面纱,将优化进行到底
- oracle sql 优化大全
- SQL优化及注意事项
- 掀开SQL的神秘面纱,将优化进行到底
- SQL优化经验总结34条
- SQL Server调优系列基础篇(并行运算总结篇二)
- Linux安装nushell:如同sql一样使用terminal
- SQL Server 为什么事务日志自动增长会降低你的性能
- Atitit sql计划任务与查询优化器--统计信息模块
- Database之SQL:RDBMS关系型数据库的简介、SQL语言的简介(原理/各大方言对比)、基础(SQL执行顺序/五大类函数/索引/视图/事务/安全/存储过程/游标/优化)之详细攻略
- oracle sql 替换 in ,dual性能优化
- SQL注入(SQL注入(SQLi)攻击)攻击-脱库
- 详解SQL操作的窗口函数
- SQL Server 开发利器 SQL Prompt 激活
- 第49讲:SQL优化之GROUP BY分组查询的优化
- Sql Server查询性能优化之走出索引的误区