位置: 编程技术 - 正文

Postgre数据库Insert 、Query性能优化详解

编辑:rootadmin

一、前言以前的系统由于表设计比较复杂(多张表,表与表直接有主从关系),这个是业务逻辑决定的。 插入效率简直实在无法忍受,必须优化。在了解了Postgre的Copy,unlogged table 特性 之后,决定一探究竟。

二、测试用例

1.数据表结构:表示一个员工工作绩效的表(work_test):共个字段id,no,name,sex,tel,address,provice,city,post,mobile,department,work,start_time,end_time,score索引(b-tree的集群索引或者叫聚集索引):id,no,name,sex,tel,address,provice,city,post,mobile,department,work

2.测试环境:win7,四核,2GB内存;postgre版本9.3;Npgsql连接Postgre数据库。

三、insert/ transaction/ copy/unlogged table

1.insert 一个W数据大概需要s,虽然已经提升“不少”,但是还是不尽如人意。以前用SQLite时发现Transaction可以大幅提升性能,于是在Postgre中试试,发现并没有明显变 化。不知何故。

2. copy可以将文件(csv)中的数据复制进数据库中,当然数据表的结构和要数据类型要与文件一一对应。据说可以大幅提升插入性能。  使用Copy后发现插入的性能立马提升至s,相当于1s插入条记录。这中间还包含生成csv文件的时间。

3.unlogged tableunlogged table,网上的文章说可以倍于insert。使用方法也很简单:Create unlogged table ...但是unlogged table 在遇到Postgre服务器异常重启后会丢失全部数据,所以如果你的数据不允许丢失,请不要使用。使用后发现,大概s,1s插入条记录。

下面是三种插入方式的走势图:

说明:x轴表示数据库中已有的记录数,单位百万,每个点是W.Y轴表示每次插入所耗时间,单位秒。蓝色线:insert;之所以后面比较稳定是因为电脑没有运行其他程序。所以说,电脑工作状态对Postgre效率有一定的影响。粉红色:copy;黄色线:copy+unlogged 虽然建了索引,并且表中的数据一直累加进来,对于后续插入数据性能并没有任何影响,这个结果就是我想看到的。四、查询测试按name字段搜索:说明:x轴表示数据库中已有的记录数,单位百万,每个点是W.Y轴表示每次查询所耗时间,单位毫秒。蓝色线:insert;粉红色:copy;黄色线:copy+unlogged由于三种插入方式结果都是一样的,所以对比并没有意义,这里主要看查询耗时。平均下来:ms,并且随着Row count的增加,查询效率并没有降低。这主要得益于良好的索引。另外发现:条件越多,查询效率越高,因为扫描的行数在减少,后面的图就不贴出来了。

推荐整理分享Postgre数据库Insert 、Query性能优化详解,希望有所帮助,仅作参考,欢迎阅读内容。

Postgre数据库Insert 、Query性能优化详解

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

PostgreSQL管理工具phpPgAdmin入门指南 一、安装phpPgAdmin将下载的压缩包解压对于tar.gz执行如下命令:gunzipphpPgAdmin-*.tar.gztar-xvfphpPgAdmin-*.tar对于tar.bz2执行如下命令:bunzip2phpPgAdmin-*.tar.bz2tar-xvfph

phpPgAdmin 常见错误和问题的解决办法 一、安装错误Q:我已经安装了phpPgAdmin,但是当我企图使用它的时候,我得到一个错误说我安装的PHP没有正确的编译数据库支持。A:这个信息的意思是你的

phpPgAdmin 配置文件参数说明中文版 ?php/***这里是phpPgAdmin的配置中心。用户需要根据自己的实际情况修改这里的设置。**$Id:config.inc.php-dist,v1.//::mr-russExp$*///一个示例服务器。你

标签: Postgre数据库Insert 、Query性能优化详解

本文链接地址:https://www.jiuchutong.com/biancheng/319657.html 转载请保留说明!

上一篇:Windows下PostgreSQL安装图解

下一篇:PostgreSQL管理工具phpPgAdmin入门指南

  • 车船税缴纳的相关知识?
  • 关联企业间借款利息扣除规定
  • 可供出售金融资产会计处理
  • 运输公司加计扣除
  • 增值税简易计税账务处理
  • 个人兼职取得的收入和退休人员再任职取得的收入
  • 预交税费怎么做分录
  • 非广告公司可以开广告费发票吗?
  • 屋面维修按定额预算明细表
  • 支付给银行的借款利息属于什么会计要素
  • 认证抵扣完的发票怎么处理
  • 12月开的发票能抵下年度的所得税吗
  • 农副产品税率及范围
  • 建筑工程项目部由哪几个部门组成
  • 新政出台
  • 怎么分辨是否清真食品
  • 多缴税款能否跨年抵扣
  • 小规模纳税人怎么开增值税专用发票
  • 公司开一般户弊端
  • 可加计扣除的研发费用包括()
  • 固定资产管理的论文
  • 非主营业务收入记什么
  • 美团代收是什么意思
  • 金蝶固定资产减少怎么做
  • 以土地入股房开什么发票
  • php数组查找函数
  • linux开机出现grub解决方法
  • 公司的劳务费支出怎么做账
  • window10自带商店下载位置
  • redis网络模型 框架图
  • 计提摊销的分录
  • php 分页
  • 新事业单位会计准则
  • 应交增值税视频讲解
  • 合伙企业分红个税税率表
  • 税金及附加和营业收入有关系吗
  • explorer.exe无响应桌面卡死是什么原因
  • php构造函数重载
  • 固定资产清理需要交企业所得税吗
  • 无法收到的租金要交房产税吗
  • 进出口会计账务处理
  • 改革性补贴是否纳入团费基数
  • 甲供材的卸料由谁负责
  • 主营业务成本的摘要怎么写
  • 独立法人企业关系怎么写
  • 上年度亏损,本年要交所得税吗
  • 运费发票如何做分录
  • 定额备用金怎么做分录
  • 公司支付工伤赔偿,是先签字还是先打钱
  • 技术服务行业增值税税负率
  • 从基本存款账户划款3万元 向开户银行转帐
  • 短期借款的相关法规
  • 外贸公司收取国家税费吗
  • 新建企业应如何建账
  • mysql5.7.17 zip 解压安装详细过程
  • 在windows中在下列叙述中正确的是
  • centos添加子接口
  • cmd命令怎么进入d盘文件夹
  • win阅读软件
  • 使用linux常用命令
  • windows7显示桌面的操作方法
  • Ubuntu GNOME 14.10的桌面升级到GNOME 3.16教程
  • linux 零拷贝技术
  • rsmsink.exe - rsmsink是什么进程 有何作用
  • win10应用商店下载不了
  • win7设备管理器里面没有网络适配器
  • 32/64位Win10预览版11102(中英日韩等)多国语言包官方iso镜像下载大全
  • win7打开软件总提示错误怎么解决
  • linux删除文件语句
  • unity3d打包成apk
  • js实现的功能
  • javascrapt
  • jquery22插件网
  • python的面向对象和模块原理
  • 汕头市国税局公务员待遇
  • 无锡市国税
  • 可以去税务局交医社保吗
  • 重庆市国家税务局电子税务局官网登录
  • 开增值税发票没有销售合同也要交印花税吗
  • 有限公司怎么交五险
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设