首页 > TAG信息列表 > KingbaseES
KingbaseES 数据库逻辑优化规则
SQL 优化的过程可以分为逻辑优化和物理优化两个部分。逻辑优化主要是基于规则的优化,简称 RBO(Rule-Based Optimization)。物理优化会为逻辑查询计划中的算子选择某个具体的实现,需要用到一些统计信息,决定哪一种方式代价最低,所以是基于代价的优化 CBO(Cost-Based Optimization)。 本文将KingbaseES sys_blocking_pids 函数
会话出现了锁等待,想要快速查询到堵塞的会话,可以使用 sys_blocking_pids 函数来实现这一目的。 sys_blocking_pids:获取哪些会话阻塞了某个会话(输入参数). sys_backend_pid:返回当前会话的pid 示例: 会话1: test=# select sys_backend_pid(); sys_backend_pid -----------------KingbaseES 局部索引
一个列要不要建立btree索引,判断条件是其键值分布是否够离散,比如主键、唯一键,可以建立索引。如果这个列有大量重复的值,则建立索引没有意义。 在生产环境中常会碰到键值分布不均匀的列,如表t1有一个名为FLAG的列,有0,1,2三个值,其中值为0的记录占95%,值为1的占3%,2占2%。在FLAG上建立索引KingbaseES 中实现mysql的from_days和to_days
mysql中两个函数的说明: TO_DAYS(date)给出一个日期date,返回一个天数。 FROM_DAYS(N)给出一个天数N,返回一个DATE值。 两个函数比较计算的日期都是 0000-01-01。 在了解了函数的原理后可以通过KingbaseES时间加减的方式构建出这2个函数: create function to_days (v_time date) returKingbaseES时间函数的比较
KingbaseES提供了多种的时间函数,这些函数在使用过程中存在哪些不同? **同一事务** test=# begin test-# for i in 1.. 10 loop test-# raise notice 'time1:%,time2:%,time3:%,time4:%,time5:%' ,localtimestamp,current_timestamp,now,clock_timestamp,sysdate; test-# select sKingbaseES DENSE_RANK 函数用法
DENSE_RANK()函数用于为结果集分区内的每一行分配一个排名,排名值之间没有差距,函数为结果集的每个分区中的每一行分配一个等级。 与 RANK() 函数不同的是,DENSE_RANK() 函数总是返回连续的排名值。对于每个分区,DENSE_RANK() 函数为具有相同值的行返回相同的排名。 语法 DENSE_RANK()KingbaseES 格式化函数
KingbaseES格式化函数提供一套有效的工具用于把各种数据类型(日期/时间、integer、floating point和numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成指定的数据类型。 下面列出了这些函数,它们都遵循一个公共的调用习惯:第一个参数是待格式化的值,而第二个是定义输出KingbaseES 中实现mysql any_value 功能
KingbaseES 中可以通过构造一个聚集函数来实现mysql的any_value功能。 示例 创建函数 create function coalesce_("anyelement","anyelement") returns "anyelement" language sql as $$ select coalesce( $1,$2) $$; create aggregate any_value("anyelement&quoKingbaseES V8R6 ksql 关闭自动提交
背景 用过oracle或mysql的人都知道,做一个dml语句,如果发现做错了,还可以rollback,但在Kingbase ksql 中,如果执行一个dml,没有先运行begin; 的话,一执行完就马上提交了,不能回滚,(因为默认自动提交是开启的)这样容易导致误操作的发生,有没有什么办法避免这个风险呢?答案是关闭自动提交。 在KKingbaseES lag 和 lead 函数
1.简介 lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤。 2.语法 LEAD/lag (expression [, offset [, default_value]]) OVER ( [PARTITION BY partKingbaseES V8R6集群维护之--修改数据库服务端口案例
案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的‘port’参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应用了sys_backup.sh工具建立物理备份后,还要修改备份对应的配置文件。 适用版本: KingbaseES V8R6 集群节点信息: [kingbaseOracle与KingbaseES的NULL在索引使用上的区别
NULL值是关系型数据库系统中比较特殊的一种值,通常称为UNKNOWN或空值,即是未知的,不确定的。由于NULL存在着无数的可能,因此NULL值也不等于NULL值。 Oracle在创建索引时,不会存储NULL值,而KingbaseES在创建索引时则会存储NULL值.在查询时,如使用Column is null这样的条件查询,Oracle不KingbaseES V8R6单实例外部备份案例
案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:数据库主机采用CentOS 7系统,repo采用kylin V10 Server。 单实例+外部备份服务器 备份逻辑架构是,在单实例环境下,通过专用的备份服务器执行sys_backup.sh的物理备份。 备份架构节点信息: 数据库版本信息:KingbaseES V8R6单实例外部备份故障案例
案例说明: 在KingbaseES V8R6单实例环境,配置外部备份服务器使用sys_backup.sh物理备份时,出现以下”WAL segment xxx was not archived before the 60000ms timeout“故障。操作步骤见:《KingbaseES V8R6 单实例sys_backup.sh外部备份案例》https://www.cnblogs.com/tiany1224/p/16KingbaseES interval 分区表介绍
KingbaseES从V008R006C005B0041版本开始支持Oracle的Interval分区表功能。 Interval分区表是一种特殊的范围分区表。当执行INSERT或者UPDATE时,若数据超过所有现有范围分区时由数据库根据定义的间隔参数自动创建新的分区。 Interval分区只能指定一个分区键列,并且数据类型必须为NUMBKingbaseES V8R6C5集群部署启动securecmdd服务配置案例
案例说明: 对于KingbaseES V8R6C5版本在部集群时,需要建立kingbase、root用户在节点间的ssh互信,如果在生产环境禁用root用户ssh登录,则通过ssh部署会失败;在图形化部署时可以借用securecmdd工具进行节点之间通讯; 数据库版本: 官方文档: https://help.kingbase.com.cn/stage-api/profilKingbaseES V8R6C5关闭root用户ssh登录部署集群案例
案例说明: 对于KingbaseES V8R6C5版本在部集群时,需要建立kingbase、root用户在节点间的ssh互信,如果在生产环境禁用root用户ssh登录,则通过ssh部署会失败;在图形化部署时可以借用securecmdd工具进行节点之间通讯;对于手工脚本部署,如果root用户被禁用ssh登录,则无法完成集群的部署。如下KingbaseES V8R6 集群环境wal日志清理
案例说明: 1、对于集群中的wal日志,除了需要在备库执行recovery外,在集群主备切换(switchover或failover)时,sys_rewind都要读取wal日志,将数据库恢复到一致性状态。 2、对于集群主备库中的wal日志,在清理时,经过测试,理论上在checkpoint所在的wal日志之前的都可以清理,但这是比较理想的状态,KingbaseES 与 Oracle 用户口令管理与资源管理
一、概述 KingbaseES可以对用户口令与用户占用资源进行必要的管理。其管理方式,在这里与Oracle数据库进行参考比较。 KingbaseES 使用扩展插件建立的系统参数,这组参数可以对数据库资源使用进行限制。 口令有效期,单位是天,0表示无限,默认值是 30 ALTER SYSTEM SET identity_pwdexp.paKingbaseES批量数据加载的实践技巧
有时,KingbaseES数据库需要在单个或最少的步骤中导入大量数据,这通常称为批量数据导入。其中数据源通常是一个或多个大文件,这个过程有时可能非常慢。 造成性能不佳的原因有很多:索引、触发器、外键、GUID 主键,甚至预写日志 (WAL) 都可能导致延迟。 在本文中,我们将介绍一些将数据大容量KingbaseES 单实例环境wal(xlog)日志清理故障案例
案例说明: 在通过sys_archivecleanup工具手工清理wal日志时,在control文件中查询的检查点对应的wal日志是“000000010000000000000008”,但是在执行清理时,误将“000000010000000000000009”以前的wal日志都被清理,在启动数据库时,无法读取checkpoint所在的wal日志,导致数据库启动失败。KingbaseES 单实例环境wal(xlog)日志清理故障案例
案例说明: 在通过sys_archivecleanup工具手工清理wal日志时,在control文件中查询的检查点对应的wal日志是“000000010000000000000008”,但是在执行清理时,误将“000000010000000000000009”以前的wal日志都被清理,在启动数据库时,无法读取checkpoint所在的wal日志,导致数据库启动失败。KingbaseES V8R6 账号异常登录锁定案例
数据库版本: test=> select version(); version ----------------------------------------------------------------------------------------------------KingbaseES 中 JSON 介绍
KingbaseES支持JSON和JSONB。这两种类型在使用上几乎完全一致,主要区别是 JSON类型把输入的数据原封不动的存放到数据库中。JSONB类型在存放时把JSON解析成二进制格式。 JSONB支持在其上建索引,而JSON不能,这是JSONB的一个很大的优点。 JSON中会保留多余的空格,保留重复的Key,保留KeKingbaseES R6 集群归档备份故障分析解决案例
案例说明: 在使用ps工具查看主库进程,发现主库‘archiver’进程失败,检查sys_log日志可以发现归档失败的信息。通过sys_log日志提取归档语句手工执行归档操作,提示“当前数据库启动的data目录和sys_rman.conf配置的‘kb1-path'参数指定的路径不一致”。后查看备份配置文件sys_rman.con