[转帖]金仓数据库KingbaseES V8R6 中unlogged表
KingbaseESV8R6有一种表称为unlogged,在该表新建的索引也属于unlogged。和普通表的区别是,对该表进行DML操作时候不将该表的变更记录变更写入到wal文件中。在数据库异常关机或者异常崩溃后该表的数据会被truncate掉,但是在写入性能上会比普通表快几倍。
这个特性类似于oracle表的nologging特性。
下面分别测试普通表和unlogged表对于数据插入速度的区别
-
test=# \dt+
-
List of relations
-
Schema | Name | Type | Owner | Size | Description
-
--------+-----------------------------+-------+------------+------------+-------------
-
public | ee | table | system | 8192 bytes |
-
public | f | table | system | 8192 bytes |
-
public | h | table | system | 104 kB |
-
public | hH | table | system | 8192 bytes |
-
public | kong | table | system | 16 kB |
-
public | newspace | table | system | 48 kB |
-
-
-
test=# \timing
-
Timing is on.
-
-
test=# create table h_loggod as select * from h ;
-
SELECT 1000
-
Time: 19.280 ms
可以看到在新建普通表并插104kb的数据耗时19.2毫秒
新建一张unlogged表并插入104kb数据进行测试
-
test=# create unlogged table h_unloggod as select * from h ;
-
SELECT 1000
-
Time: 4.653 ms
可以看到同样大小unlogged表的插入速度为4.6毫秒,性能提高了近4倍。
注意unlogged意思是表不被归档保护,所以这时候如果数据库出现断电等异常故障,这个表数据库是不被保护了,这又是老生常谈的话题,效率与安全往往不可兼得。
如何查看当前数据库中所有的unlogged表
-
test=# select n.nspname as schema_name,c.relname as table_name from pg_catalog.pg_namespace n, pg_catalog.pg_class c where c.relnamespace=n.oid and n.nspname != 'pg_toast' and c.relkind='r' and c.relpersistence = 'u';
-
schema_name | table_name
-
-------------+------------
-
public | h_unloggod
-
(1 row)
如果需要将unlogged表修改为普通表,则执行如下语句
-
test=# select 'ALTER TABLE'||' '||concat(n.nspname,'.' ,c.relname)||' '||'SET LOGGED ;' AS convert_logged_sql from pg_catalog.pg_namespace n, pg_catalog.pg_class c where c.relnamespace=n.oid and n.nspname != 'pg_toast' and c.relkind='r' and c.relpersistence = 'u';
-
convert_logged_sql
-
--------------------------------------------
-
ALTER TABLE public.h_unloggod SET LOGGED ;
-
(1 row)
总结
如果需要加快业务上某些大表的insert速度可以开启这个特性,但是不能保证数据的安全性,不过我们可以在DML 执行完毕后,对unlogged表更为logged属性。
[转帖]金仓数据库KingbaseES V8R6 中unlogged表的更多相关文章
- 通过ODBC接口访问人大金仓数据库
国产化软件和国产化芯片的窘境一样,一方面市场已经存在性能优越的同类软件,成本很低,但小众的国产化软件不仅需要高价买入版权,并且软件开发维护成本高:另一方面,国产软件目前普遍难用,性能不稳定,Bug ...
- QT 之 ODBC连接人大金仓数据库
QT 之 使用 ODBC 驱动连接人大金仓数据库 获取数据库驱动和依赖动态库 此操作可在人大金仓官网下载与系统匹配的接口动态库,或者从架构数据库的源码中获取驱动和依赖动态库 分别为: 驱动动态库:kd ...
- 通过jmeter连接人大金仓数据库
某项目用的人大金仓数据库,做性能测试,需要用jmeter来连接数据库处理一批数据.jmeter连接人大金仓,做个记录. 1. 概要 在"配置元件"中添加"JDBC Con ...
- linux安装国产数据库(金仓数据库,达梦数据库,南大通用数据库)
今天在公司做的任务是,在Linux的环境下安装三种数据库,结果一种数据库也没有安装好,首先遇到的问题是安装南大通用数据库遇到安装的第五步,就出现问题了,问题是Gbase SDK没有安装成功,以及Gba ...
- 数据库查询Database中的表
public class UserDA { SqlConnection conn; SqlCommand cmd; public UserDA(Use uuu) { conn =new SqlConn ...
- mysql数据库查询库中所有表所占空间大小
SELECT CONCAT(table_schema,'.',table_name) AS 'TABLE_NAME', CONCAT(, ),'M') AS 'ROW_SIZE', CONCAT( ) ...
- Rocky4.2下安装金仓v7数据库(KingbaseES)
1.准备操作系统 1.1 系统登录界面 1.2 操作系统版本信息 jdbh:~ # uname -ra Linux jdbh -x86_64 # SMP Fri Dec :: CST x86_64 G ...
- 润乾配置连接kingbase(金仓)数据库
问题背景 客户根据项目的不同,使用润乾连接的数据库类型各种各样,此文针对前几日使用润乾设计器连接kingbase金仓数据库做一个说明. kingbase金仓数据库是一款国产数据库,操作方式和配置 ...
- 金仓Kingbase数据库网页数据维护分析工具
金仓Kingbase是优秀的国产数据库产品,在能源,政务,国防等领域广泛使用, 现在TreeSoft数据库管理系统已支持Kingbase了,直接在浏览器中就可以操作查看Kingbase数据了,十分方便 ...
- DBeaver连接达梦|虚谷|人大金仓等国产数据库
前言 工作中有些项目可能会接触到「达梦.虚谷.人大金仓」等国产数据库,但通常这些数据库自带的连接工具使用并不方便,所以这篇文章记录一下 DBeaver 连接国产数据库的通用模版,下文以达梦为例(其他国 ...
随机推荐
- 如何使用loki查询日志中大于某一数字的值的日志
简介 loki是一款轻量级的日志收集中间件,比elk体系占用的内存更小,采用go语言开发,可以利用grafana来查询loki中存储的日志,loki存储日志只对提前预设的标签做索引,所以日志存储空间占 ...
- 最新系统MacOs13 Ventura(M1/M2芯片) + Parallels Desktop 18(PD18史上最强虚拟机)永久使用攻略
众神殿内,高朋满座,胜友如云,Vmware.VirtualBox.Utm等虚拟机大神群英荟萃,只见位于C位王座上的Parallels怅惘抬头,缓缓逡巡,睥睨群小,目光到处,无人敢抬头对视. 是的,如果 ...
- 详解CCE服务:一站式告警配置和云原生日志视图
本文分享自华为云社区<新一代云原生可观测平台之CCE服务日志和告警篇>,作者:云容器大未来. 告警和日志是运维人员快速定位问题.恢复异常的主要手段.运维人员日常的工作模式往往是先接收告警信 ...
- Python 初学者必看:Python 异常处理集合
摘要:作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,本文专门介绍 python 异常处理. 异常 广义上的错误分为错误和异常 错误指的是可以人为避免 异常是指在语 ...
- 解析鸿蒙内核消息队列QueueMail接口的哼哈二将
摘要:本文带领大家一起剖析了鸿蒙轻内核的队列模块的QueueMail两个接口的源代码. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十三(续) 消息队列QueueMail接口>,作者: ...
- Black Hat 2022 聚焦软件供应链安全
Black Hat 大会被公认为世界信息安全行业最权威大会,也是在全球范围内最具有技术性的信息安全大会.Black Hat USA 聚焦网络安全事件,并且持续向外界输出前沿安全技术研究成果以及行业发展 ...
- 一文读懂配置管理(CM)
配置管理(Configuration Management),是一个用于建立和维护产品性能.功能和物理属性,并与其需求.设计和操作信息在整个生命周期内保持一致的系统工程. 配置管理是 ITIL(Inf ...
- 低门槛上手快!火山引擎 VeDI 这样满足数据分析新需求
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,市场研究机构 IDC 发布<2022 年 V2 全球大数据支出指南>. 数据显示,2021 ...
- 数据治理如何做?火山引擎DataLeap帮助这款产品3个月降低计算成本20%
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 本文讲述字节跳动一款 App 产品的数据治理故事.该产品随着用户体量和数据体量不断增长,数仓的任务量.数据量也不断 ...
- Axure 多人协作
创建团队项目 团队 => 从当前文件创建团队项目 签出的文件才能被修改 签出 签入 发布评论 邀请 编辑的5种状态 和SVN差不多的概念 已有项目导入 https://www.bilibili. ...