博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
count(*)快还是count(列)快
阅读量:6259 次
发布时间:2019-06-22

本文共 524 字,大约阅读时间需要 1 分钟。

一、没建索引一样快

create table t as select * from dba_objects;

update t set object_id =rownum ;

 

此时没建索引,因此他们是一样快。

select count(*) from t;

select count(object_id) from t;

二、为列object_id创建索引

create index idx_object_id on t(object_id);

此时count(object_id)比count(*)快很多

 

三、修改列object_id,设置不允许为空

alter table T modify object_id  not  null;

此时count(object_id)和count(*)一样快。

 

四、最佳字段顺序(越往后的列访问CPU开销大)

给我们开发员的启示就是:把最常用的列建在最前面。不常用的列建在后面。

优化器是这么搞的:列的偏移量决定性能,列越靠后,访问的开销越大。由于count(*)的算法与列偏移量无关,所以count(*)最快。

 

转载于:https://www.cnblogs.com/fjzsl/p/9291942.html

你可能感兴趣的文章
C# SQL 整表插入
查看>>
CSS3效果:animate实现点点点loading动画效果(二)
查看>>
NYOJ92 图像实用区域 【BFS】
查看>>
Maven常见异常及解决方法(本篇停更至16-4-12)
查看>>
微信小程序wx.previewImage实用案例(交流QQ群:604788754)
查看>>
用SSH解决大局域网反向端口转发问题
查看>>
【来龙去脉系列】机器学习入门必读
查看>>
VMware给虚拟机绑定物理网卡
查看>>
ROS中测试机器人里程计信息
查看>>
Python 能做什么?
查看>>
RecyclerView分隔线定制
查看>>
python-i春秋验证码识别
查看>>
Es对于日期处理
查看>>
深入理解 Java 动态代理机制
查看>>
Go基础系列:简单数据类型
查看>>
[UWP]合体姿势不对的HeaderedContentControl
查看>>
使用RSA加密在Python中逆向shell
查看>>
MS UI Automation
查看>>
Android开发指南(41) —— Searchable Configuration
查看>>
现代软件工程 怎么教好课 (读书笔记)
查看>>