摘要: 前言 为了方便,我们测试环境经常使用system用户执行测试,它拥有最高权限。 角色基本上是用户和组的概念。你可以以角色身份登录,并且一个角色可以属于另一个角色。每个角色都有一个类似的属性,指示你是否可以作为该角色登录,以及该角色是否从所属角色继承权限。你可以使用命令将角色添加到另一个角色的成员中。 阅读全文
posted @ 2024-04-03 17:03 KINGBASE研究院 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 执行计划中的nestloop join 对比hash join 两种join 方式的定义 NESTE LOOP: 在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行。两个概念:驱动表(外部表)和内部表,这里用表这个次其实不是很准确,外部表和内部表可以是某张表的结果集。 在 阅读全文
posted @ 2024-04-03 17:03 KINGBASE研究院 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 背景 回顾一下流复制冲突相关参数: hot_standby_feedback: 从库反馈给主库快照, 主库vacuum时不回收最老快照之后产生的垃圾,注:备库长查询将导致主库表膨胀。 vacuum_defer_cleanup_age: 当触发vacuum时,延迟指定事务后触发。 recovery_m 阅读全文
posted @ 2024-04-03 17:03 KINGBASE研究院 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1.表大小 如果表太大,数据很多,索引创建的时候,会导致创建索引的时间很慢。 如果表很大,可以考虑重新设计表结构或拆分表。还可以考虑使用分区表,使子分区的数据减少,创建分区表也可以使索引变小,增加索引创建速度,有助于查询效率。 2.索引类型 不同类型的索引建立的速度可能会有所不同,因为存储的结构不一 阅读全文
posted @ 2024-04-03 17:03 KINGBASE研究院 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 前言 数据库中的IO性能是优化中的重中之重,根据木桶原理,解决了IO这个最容易引起业务堵塞的问题,就能解决绝大部分性能问题。 下面从几个方面总结一下I/O优化问题。 第一,使用相对速度快的高性能存储设备。一般会考虑使用固态硬盘 (SSD) 或 RAID 阵列以获得更快的读写速度。 高性能低延迟的集中 阅读全文
posted @ 2024-04-03 17:03 KINGBASE研究院 阅读(20) 评论(0) 推荐(0) 编辑
摘要: KingbaseES V8R6集群运维案例之 同城双中心switchover案例 案例说明: 在同城双中心执行switchover在线切换后,双中心架构保持不变。 适用版本: KingbaseES V8R6 集群架构: 一、切换前集群节点状态 如下所示,切换前集群的主库(Primary)位于同城灾备 阅读全文
posted @ 2024-04-03 17:02 KINGBASE研究院 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 文章概要: 本文属于学习总结系列,总结了一下数组类型和PL/SQL中集合类型及其使用区别。 一,集合(collection)数据 它是存放一组数据类型相同的数据,是一组相同类型元素的集合 集合数据类型分三类: 1).关联数组(index by tables) 元素下标:binary_integer、 阅读全文
posted @ 2024-04-03 17:02 KINGBASE研究院 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 文章概述 本文通过某项目一次针对对象类型中一些不支持的功能项进行代码改造为契机,重新回顾和熟悉了对象类型继承,子父对象转换,函数重载等概念和应用,包括集合类型的一些编码应用场景。 通过这个案例可以快速帮助我们熟悉和深刻对PSLQL对象类型和集合类型能力域的掌握。 一,问题背景 相对于Oracle的P 阅读全文
posted @ 2024-04-03 17:02 KINGBASE研究院 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 前言 Oracle数据库去除重复数据方法一般根据rowid进行去重,KingbaseES数据库如何去重呢?可以根据ctid去重。 我们使用大数据量测试,因为一般生产环境数据量还是蛮大的。 测试 创建一张测试表,并插入一定量的重复数据,数据量21万,其中重复数据1万。 create table del 阅读全文
posted @ 2024-04-03 17:02 KINGBASE研究院 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 说明 当并发会话尝试访问同一页面时,等待其他进程完成其输入/输出(I/O)操作时,就会发生LWLock:BufferIO事件。其目的是将同一页读取到共享缓冲区中。 等待事件发生过程 每个shared buffer都有一个与LWLock:BufferIO等待事件关联的I/O锁,每次都必须在共享缓冲池外 阅读全文
posted @ 2024-04-03 17:02 KINGBASE研究院 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 当遇到数据库内存告警,并且操作系统内存使用不足,需要分析内存占用的方法。 KingbaseES数据库使用操作系统缓存机制,大量的内存很可能被BUFFER/CACHE占用了。 从free命令可以看到总共有2.5G多内存,使用了291MB,free剩下1.7GB多,BUFF/CACHE占了474MB。a 阅读全文
posted @ 2024-04-03 17:02 KINGBASE研究院 阅读(28) 评论(0) 推荐(0) 编辑
摘要: bitmap scan 解读 什么是bitmap scan? bitmap scan是pg中表的扫描计划的一种。 bitmap scan的作用就是通过建立位图的方式,将index scan 回表过程中对页访问的随机性IO转换为顺行性行为,从而减少查询过程中IO的消耗。 其优化理念是通过bitmap 阅读全文
posted @ 2024-04-03 17:01 KINGBASE研究院 阅读(4) 评论(0) 推荐(0) 编辑
摘要: KingbaseES数据库,已经对Mysql数据库进行了功能和使用方面的兼容。针对sql_mode配置使用情况,也做了相关的兼容适配,在最新kes的mysql数据库模式中,sql_mode参数已经对ONLY_FULL_GROUP_BY,ANSI_QUOTES,STRICT_ALL_TABLES这三个 阅读全文
posted @ 2024-04-03 17:01 KINGBASE研究院 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 案例说明: 在通用机环境下,通过脚本部署集群,出现“initdb: error: cannot be run as root”故障。 适用版本: KingbaseES V8R6 一、问题现象 通用机环境,通过脚本部署集群,出现以下故障:在对主库执行initdb初始化实例时,是root用户执行,而不是 阅读全文
posted @ 2024-04-03 17:01 KINGBASE研究院 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 授予schema下对象权限 创建一个名为schematest的schema: CREATE SCHEMA schematest; 创建一个新的用户,名为test02用户: 创建一个新的用户,名为test02用户: 如果不对test02用户授予任何权限,切换到test02用户执行craete tabl 阅读全文
posted @ 2024-04-03 17:01 KINGBASE研究院 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 背景 有客户提出一个问题。 一个类似这样的SQL语句,select count(id) from 为什么执行计划用全表扫,不用索引。id列上有主键。 分析 test=# explain (analyze, buffers ) select count(id) from t1; QUERY PLAN 阅读全文
posted @ 2024-04-03 17:01 KINGBASE研究院 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 前言 前几天同事在生产环境遇到的一个报错:tuple concurrently updated 从字面意思看是行的并发争用。这个问题原因是数据库更新系统表时产生了争用,所以不同session不能并发更新系统表。 测试 窗口1,不提交事务 begin; truncate t1; 窗口2,因为无法更新系 阅读全文
posted @ 2024-04-03 17:00 KINGBASE研究院 阅读(9) 评论(0) 推荐(0) 编辑