PostgreSQL中COUNT的各条件下(1亿条数据)例子
test=# insert into tbl_time1 select generate_series(1,100000000),clock_timestamp(),now();INSERT 0 100000000Time: 525833.218 ms约:8.7分钟COUNT,没有索引,1亿条数据。
test=# select count(1) from tbl_time1; count ----------- 100000000(1 row)Time: 3070658.058 ms约:51.2分钟添加主键索引耗时
test=# alter table tbl_time1 add primary key (id);ALTER TABLETime: 981276.804 ms约:16.4分钟COUNT,有索引(主键),1亿条数据,注意 where id > 0 的条件
这个有 where id > 0test=# select count(id) from tbl_time1 where id > 0; count ----------- 100000000(1 row)Time: 244243.112 ms约:4.071分钟COUNT,有索引(主键),1亿条数据,注意没有 where id > 0 的条件
这个无 where id > 0test=# select count(id) from tbl_time1; count ----------- 100000000(1 row)Time: 548650.606 ms约:9.144分钟通过修改配置文件调优
enable_bitmapscan = offenable_hashagg = onenable_hashjoin = onenable_indexscan = onenable_indexonlyscan = on#enable_material = on#enable_mergejoin = on#enable_nestloop = onenable_seqscan = off#enable_sort = onenable_tidscan = offtest=# select count(id) from tbl_time1 where id > 0; count -----------100000000(1 row)Time: 87501.151 ms约:1.456分钟PostgreSQL中COUNT的各条件下(1亿条数据)例子的更多相关文章
- [原创]PostgreSQL Plus Advanced Server批量创建分区表写入亿级别数据实例
当前情况:大表的数据量已接近2亿条我的解决思路:为它创建n*100个分区表,将各个分区表放在不同的tablespace上这样做的优点:1.首先是对这个级别的数据表的性能会有所提升2.数据管理更科学3. ...
- resultMap中的collection集合出现只能读取一条数据的解决方法
查询数据时只能获得collection集合中的的一条数据,相关情况如下: 结果集resultMap: <resultMap id="ManagerRolesAcls" typ ...
- innodb中一颗B+树能存储多少条数据
如图,为B+树组织数据的方式: 实际存储时当然不会每个节点只存3条数据. 以InnoDB引擎为例,简单计算一下一颗B+树可以存放多少行数据. B+树特点:只有叶子节点存储数据,而非叶子节点存放的是用来 ...
- Java中如何实现j并发更新数据库同一条数据
分情况来说:普通单应用并发.多应用或多台服务器并发 情况一:普通单应用并发 使用关键字synchronized就可实现. 情况二:多应用或多台服务器并发 因多个应用之间并非同一个jvm(应用)内,因此 ...
- 亿条数据在PHP中实现Mysql数据库分表100张
当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度.笔者做了一个简单的尝试,1亿条数据,分100张表.具体实现过程如下: 首先创建100张表: $i=0; while($i<=9 ...
- 1亿条数据在PHP中实现Mysql数据库分表100张
当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度.笔者做了一个简单的尝试,1亿条数据,分100张表.具体实现过程如下: 首先创建100张表: $i=0; while($i<=9 ...
- 查询某个信息下只有一条数据的sql
- mysql中运用条件判断筛选来获取数据
### part1 单表查询 sql查询完整语法: select .. from .. where .. group by .. having .. order by .. limit .. 一.wh ...
- 在UPDATE中更新TOP条数据以及UPDATE更新中使用ORDER BY
正常查询语句中TOP的运用: SELECT TOP 1000 * FROM MP_MemberGrade 随意更新一张表中满足条件的前N条数据: UPDATE TOP (1) MP_Member ...
随机推荐
- JAVA多线程基础知识(一)
一. 基础知识 要了解多线程首先要知道一些必要的概念,如进程,线程等等.开发多线程的程序有利于充分的利用系统资源(CPU资源),使你的程序执行的更快,响应更及时. 1. 进程,一般是指程序或者任务的执 ...
- HDU1102--最小生成树
Constructing Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- iOS开发——网络篇——文件下载(NSMutableData、NSFileHandle、NSOutputStream)和上传、压缩和解压(三方框架ZipArchive),请求头和请求体格式,断点续传Range
一.小文件下载 NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/images/minion ...
- Git秘籍:在 Git 中进行版本回退
导读 在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题.快来试试吧. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中 ...
- C++公有派生
C++中的公有派生: 1.格式:Class A:public B{...}: 例如我们先声明了一个基类:SafeIntArray,当我们要声明它的派生类IndexIntArray时,格式如下:
- ios10 UNNtificationRequest UNUserNotificationCenter的应用 推送之本地推送
iOS10 已经 "deprected" 我们的UILocalNotification 采用了全新的UNUserNotificationCenter; 1 首先,你需要引进< ...
- Sqli-LABS通关笔录-2
在这个关卡学习到了 1.程序的错误不是学校收费乱来的,单引号的错误和减号的错误要明白 单引号报错. 用第一关的PAYLOAD尝试了下. 来看看源码: 那么我们构造的sql也就变成了 $sql=&quo ...
- JDBC连接MySQL数据库的方法和实例
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java. ...
- PyCharm 入手第一记
因为我是忠实的Linux用户,所以一下操作是在Linux下的完成,除了下载,因为Linux的下载着实有点让人捉急. PyCharm 下载地址: http://www.jetbrains.com/pyc ...
- 数据结构与算法实验题6.1 s_sin’s bonus byFZuer
玩家从n 个点n-1 条边的图,从节点1 丢下一个小球,小球将由于重力作用向下落,而从小球所在点延伸出的每一条边有一个值pi 为小球通过该条边的概率(注意从同一个节点向下延伸的所有边的pi 的和可以小 ...