当前位置: 首页 > news >正文

网站建设维护协议书网站海外推广方案

网站建设维护协议书,网站海外推广方案,十八款免费的软件下载,网站后台上传缩略图文章目录 1.copy命令介紹2.copy vs insert的优势3.测量性能4.结论 1.copy命令介紹 PostgreSQL 中的命令COPY是执行批量插入和数据迁移的强大工具。它允许快速有效地将大量数据插入表中。 COPY命令为批量插入和数据迁移提供了更简单且更具成本效益的解决方案。 可以避免使用诸…

文章目录

  • 1.copy命令介紹
  • 2.copy vs insert的优势
  • 3.测量性能
  • 4.结论

1.copy命令介紹

PostgreSQL 中的命令COPY是执行批量插入和数据迁移的强大工具。它允许快速有效地将大量数据插入表中。

COPY命令为批量插入和数据迁移提供了更简单且更具成本效益的解决方案。
可以避免使用诸如:分布式处理工具、为数据库添加更多的 CPU 和 RAM的方案或者其他的加速方案
因此,如果有一个任务需要在短时间内插入大量行,可以考虑使用COPY 命令。它可以显著加快数据迁移和载入过程。
据说PostgreSQL 16 已将 COPY 的性能提高了 300% 以上
详尽的有关copy命令的语法可参考官网

2.copy vs insert的优势

Three-Column Table
COPYINSERT (multi-line)
LoggingOne log for the entire loadOne log for each line/entry
NetworkNo latency, data is streamedLatency between inserts
ParsingOnly one parsing operationParsing overhead
TransactionSingle transactionEach insert statement is a separate transaction
Query PlanSimpler query execution planLots of different query execution plans

总而言之,COPY 速度更快,因为与多行 INSERT 语句相比,它减少了日志记录、网络延迟、解析和事务管理的开销。 它允许更简单的查询执行计划,从而实现更快、更高效的批量插入和数据迁移。 一个权衡是它需要直接访问文件系统,因此它可能并不适合所有需要插入数据的场景。 另一个权衡是持久性,COPY 生成很少的日志,并在单个事务中执行所有日志,这使得它的风险更大。

3.测量性能

创建3个测试表

test=# create table t1 (id1 bigint,id2 bigint);
CREATE TABLE
Time: 7.744 ms
test=# create table t2 (id1 bigint,id2 bigint);
CREATE TABLE
Time: 8.680 ms
test=# create table t3 (id1 bigint,id2 bigint);
CREATE TABLE
Time: 0.924 ms

向t1插入1千万笔测试资料,产生size 422MB的测试表

test=# insert into t1 select generate_series(1,10000000),generate_series(10000000,1,-1);
INSERT 0 10000000
Time: 11933.658 ms (00:11.934)
test=# select count(1),pg_size_pretty(pg_relation_size('t1')) from t1;count   | pg_size_pretty 
----------+----------------10000000 | 422 MB(1 row)Time: 377.028 ms

汇出成csv文件备用

test=# \copy t2 from '/var/lib/postgresql/t1.csv';
COPY 10000000
Time: 5997.302 ms (00:05.997)

验证汇出的csv文件的数据行数与大小

postgres@pgd-prod01:~$ cat t1.csv|wc -l
10000000
postgres@pgd-prod01:~$ ls -alh|grep t1;
-rw-rw-r--  1 postgres postgres  151M Nov 18 11:26 t1.csv
test=# insert into t3 select * from t1;
INSERT 0 10000000
Time: 9811.316 ms (00:09.811)

4.结论

最后测试结果表明,COPY 命令与 INSERT 命令相比具有更高的效率,速度上的差异是相当显着的,当插入同样的1仟万笔数据时,copy费时5997.302 ms,而insert费时9811.316 ms,相较insert而言,节约40%的时间,这是在postgresql 10版本的测试,postgresql 16据说提升更多

http://www.yayakq.cn/news/394396/

相关文章:

  • dedecms医院网站建站小程序快速上线
  • 邢台市旅游景点排名前十wordpress有关seo的插件
  • 网站建设与维护工作上传文件网站
  • 男女直接做视频教学视频网站厦门官方网站建设
  • 企业网站建设的注意事项安阳网课
  • muse cc 做网站做网站公司无锡
  • 手机手机网站建设信用网站建设情况
  • 公司网站 源码建设一个网站的规划
  • 网站怎么更换域名用dw设计网站模板下载
  • 只做网站应该找谁快速网站空间
  • 公司改名字重新备案网站会停吗做网址导航网站
  • 网站备案注销找哪个部门手机商城图片
  • 网站设计与开发的基本步骤包括哪些办公室改造装修公司
  • 东莞市工程建设安监站网站做网站有谁做
  • 秀网站做网站 请示
  • 网站建设什么软件好保定网站建设制作开发平台
  • 购买友情链接网站下载企查查企业查询
  • 网站建设 数据上传 查询免费查企业最好的网站
  • 自己怎么创网站wordpress优雅的暂停
  • 地税城市维护建设税网站是什么意思企业营销策划书
  • 胶州网站设计公司手机与pc的网站开发
  • 阳山网站seo做导购网站要多少钱
  • 用dw做的网站怎么上线唐山网站设计制作
  • 不屏蔽网站的浏览器网站建设的频道是什么意思
  • 邯郸网站推广网站如何推广营销
  • 深圳网站推广优化开发平台要多少钱
  • 襄阳营销网站建设湛江网站建设的详细过程
  • 网站域名转出wordpress自定义顶部
  • 好的做网站dedecms小说网站模板
  • 企业网站建设开题报告秦皇岛营销式网站