news 2026/2/15 6:06:13

HGDB如何提升批量导入数据的速度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HGDB如何提升批量导入数据的速度

文章目录

  • 文档用途
  • 详细信息

文档用途

本文档用于提供几个提升瀚高数据库批量导入数据速度的方向,需要根据实际情况具体分析及选择。

详细信息

关闭自动提交

在批量插入数据时,如果每条数据都被自动提交,当中途出现系统故障时,不仅不能保障本次批量插入的数据一致性,而且由于有多次提交操作的发生,整个插入效率也会受到很大的打击。解决方法是,关闭系统的自动提交(SET AUTOCOMMIT = OFF),并且在插入开始之前,显式的执行 BEGIN TRANSACTION 命令,在全部插入操作完成之后再执行 COMMIT 命令提交所有的插入操作。

使用 COPY 命令

使用 COPY 在一条命令里装载所有记录,而不是一系列的 INSERT 命令。COPY 命令是为装载数量巨大的数据行优化过的,它不像 INSERT 命令那样灵活,但是在装载大量数据时,系统开销也要少很多。

注:因为 COPY 是单条命令,因此在填充表的时候就没有必要关闭自动提交了。

删除索引

如果你正在装载一个新创建的表,最快的方法是创建表,用 COPY 批量装载,然后创建表需要的任何索引。因为在已存在数据的表上创建索引比维护逐行增加要快。当然在缺少索引期间,其它有关该表的查询操作的性能将会受到一定的影响,唯一性约束也有可能遭到破坏。

删除外键约束

和索引一样,"批量地"检查外键约束比一行行检查更加高效。因此,我们可以先删除外键约束,装载数据,然后再重建约束。

临时增大 MAINTENANCE_WORK_MEM

在装载大量数据时,临时增大 maintenance_work_mem 系统变量的值可以改进性能。这个系统参数可以提高CREATE INDEX 命令和 ALTER TABLE ADD FOREIGN KEY 命令的执行效率,但是它不会对 COPY 操作本身产生多大的影响。

临时增大 CHECKPOINT_SEGMENTS

临时增大 checkpoint_segments 系统变量的值也可以提高大量数据装载的效率。这是因为在向 PostgreSQL 装载大量数据时,将会导致检查点操作(由系统变量 checkpoint_timeout 声明)比平时更加频繁的发生。在每次检查点发生时,所有的脏数据都必须 flush 到磁盘上。通过提高 checkpoint_segments 变量的值,可以有效的减少检查点的数目。

设置为 UNLOGGED 表

PostgreSQL 的 unlogged table 是不记录 xlog 的,因此批量导入的时候 unlogged 表速度比 logged 表性能要快上一倍。但是, unlogged 表不是异常安全的:数据库崩溃或者异常关闭后, unlogged 表中的数据会被自动删减;另外, unlogged 表中的数据也不会备份到从服务器。任何 unlogged 表上创建的索引也是 unlogged 的。对于批量数据导入,我们可以临时设置表为 unlogged(ALTER TABLE tb SET UNLOGGED),之后再将表重新设置为 logged(ALTER TABLE tb SET LOGGED)。

事后运行 VACUUM ANALYZE

在增加或者更新了大量数据之后,应该立即运行 VACUUM ANALYZE 命令,这样可以保证规划器得到基于该表的最新数据统计。换句话说,如果没有统计数据或者统计数据太过陈旧,那么规划器很可能会选择一个较差的查询规划,从而导致查询效率过于低下。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/11 21:54:21

11、加勒比与北美地区房地产投资指南

加勒比与北美地区房地产投资指南 在全球房地产投资领域,加勒比和北美地区因其独特的地理、经济和政治环境,吸引着众多投资者的目光。下面将为大家详细介绍该地区部分国家的房地产投资情况。 英属维尔京群岛 英属维尔京群岛的房地产投资有其自身特点。银行提供长期贷款,期…

作者头像 李华
网站建设 2026/2/14 20:46:55

42、太赫兹通信与可见光通信:5G 及未来的前沿技术

太赫兹通信与可见光通信:5G 及未来的前沿技术 1. 太赫兹通信研究进展概述 太赫兹通信作为无线通信领域的新兴前沿技术,在近年来取得了众多重要进展。以下是太赫兹通信领域在多个方面的研究成果: - 器件与技术 - 激光器 :有研究致力于提高太赫兹量子级联激光器的性能…

作者头像 李华
网站建设 2026/2/14 9:58:38

46、5G及未来通信中的协同网络技术解析

5G及未来通信中的协同网络技术解析 1. 5G异构网络干扰协调技术背景 随着对网络容量需求的不断增加,频谱的频繁复用成为无线网络的必然要求。小小区的引入使得网络中出现了不对称干扰,传统的小区间干扰协调(ICIC)技术难以满足异构网络(HetNets)的干扰协调需求。为了解决…

作者头像 李华
网站建设 2026/2/10 9:55:08

47、协同网络:过去、现在与未来

协同网络:过去、现在与未来 1. 5G 网络协调技术 随着小区密度的增加,预期的切换次数也会增多。为了减少切换次数,可采用为参考信号接收功率(RSRP)和参考信号接收质量(RSRQ)设置多个阈值的技术。当信号低于第一个阈值时,激活联合传输协作多点(JT - CoMP)以改善传输;…

作者头像 李华
网站建设 2026/2/15 4:01:10

50、5G及未来的灵活认知无线电接入技术与频谱感知

5G及未来的灵活认知无线电接入技术与频谱感知 非正交无线电接入技术 非正交多址接入(NOMA)技术在5G及未来无线通信系统中展现出巨大潜力。在功率域非正交多址接入(PD - NOMA)中,通过功率分配可实现多个用户的同时接入。但在实际场景中,用户间的信道差异并非总能保证,这…

作者头像 李华
网站建设 2026/2/9 9:23:07

58、5G及未来的物理层安全设计

5G及未来的物理层安全设计 1. 物理层安全性能衡量 实际的保密性能可以通过合法节点和非法节点的错误概率率(如误包率PER和误比特率BER)之间的差异来获得。此外,安全吞吐量和保密信道容量可以直接与PER和BER相关联。在衰落环境中衡量保密性时,当非法接收者(Eve)的信道未…

作者头像 李华