自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(667)
  • 收藏
  • 关注

原创 拒绝玄学调优!YashanDB科学分析精准狙击慢SQL

如果一个业务场景前面跑了大量语句,大量SQL占用plancache内存,导致后面的语句在执行完后就被淘汰,每次执行都需要重新走解析,生成计划,那业务系统的整体执行效率会大打折扣。**编写较低效的SQL:**编写的SQL执行了不必要的操作,那么优化器将无法提升其性能,例如:没有连接条件的连接语句(笛卡尔积)、指定大表做驱动表、指定UNION而不是UNION ALL、使用子查询针对外部查询中的每一行执行等。通过命令可以生成如图3的AWR报告,报告包含中数据库信息,快照信息,等待事件、多维度统计慢SQL语句。

2025-04-03 09:47:31 889

原创 零基础入门,带你三小时入门一款新的数据库

YashanDB 数据库免费公开课,直播时间2024年7月-9月

2024-07-29 14:38:09 962 4

原创 YashanDB PX_CHANNEL函数

PX_CHANNEL表函数根据输入的sessionid,查询返回该连接会话下的tabqueue通道信息。返回值:函数执行返回组成tabqueue通道信息的表。在单机场景下为当前节点的session编号,可以通过V$SESSION视图查得。在分布式场景下为全局sessionid,可以通过DV$SESSION视图查得。其中sessionid的值必须为INT类型。

2025-06-30 09:38:09 387

原创 YashanDB POW POWER函数

下表列示了不同情况下本函数的计算规则:(字符型将被隐式转换为NUMBER类型参与下表规则)exp为与expr相同的通用表达式,当exp的值为NULL时,函数返回NULL。POW/POWER函数计算。

2025-06-30 09:37:24 416

原创 YashanDB POSITION函数

1表示的字符串,返回expr1第一次出现的位置,该结果为一个BIGINT类型的数字。当没有查找到匹配值时,返回0。expr1、expr2的值须为字符型,或除JSON、LOB、XMLTYPE类型外可转化为字符型的其他类型。当expr1或expr2中任一值为NULL时,函数返回NULL。2表示的字符串中从左向右查找。POSITION函数在一个。

2025-06-30 09:35:56 299

原创 YashanDB PI函数

PI函数无给定参数,返回圆周率的值,返回数据类型为DOUBLE。

2025-06-30 09:34:45 376

原创 YashanDB PERCENTILE_CONT函数

对排序键进行排序,得到有序数据。PERCENTILE_CONT函数假定表达式expr连续分布,在组内对其进行排序操作,忽略数据为null的数据行,给定一个百分比值percentile,返回对应百分比所在的插值。当expr的类型为非浮点数的数值类型时,函数返回number类型。expr为时间类型和浮点数类型时,函数返回与expr相同的类型。​,将每个分组窗口内的行根据排序规则进行排序并计算对应百分比的插值,分组窗口内每一行的结果都相同。排序键可以指定升降序,ASC为升序,DESC为降序,默认为升序。

2025-06-30 09:33:20 300

原创 YashanDB REGEXP_COUNT函数

指定开始进行匹配的偏移量,系统从expr的第position个字符开始匹配,在找到第一个正则匹配项后,继续从匹配项之后的第一个字符开始,查找第二个匹配项,直到expr的最后一个字符。position为与expr相同的通用表达式,须为数值型数据,或可转换为NUMBER类型的其他类型数据,且其值应为一个正整数,内部处理时统一转换为BIGINT类型。表示的源字符串中按正则模式可以匹配到的次数,如果没有找到匹配项,则函数返回0,函数返回值为BIGINT类型。expr的值须为字符型,或可转换为字符型的其他类型。

2025-06-30 09:30:34 358

原创 YashanDB RANK函数

partition by与order by的参数参数支持除LOB、JSON、XMLTYPE、UDT外的其它数据类型。,用于对数据的实时分析。本函数的语法描述及约束与。

2025-06-30 09:26:47 239

原创 YashanDB RANDOM函数

不建议对RANDOM函数进行排序,当RANDOM函数同时作为排序键和投影列时,输出结果仍旧无序。RANDOM函数返回一个0到1之间的随机数,返回类型为NUMBER型。不建议对RANDOM函数进行比较,RANDOM函数会执行多次,比较结果无意义。来对一组记录进行随机化排序。

2025-06-30 09:23:26 307

原创 YashanDB PX_OBJ函数

PX_OBJ表函数根据输入的sessionid,查询返回该连接会话下的并行stage信息。在单机场景下为当前节点的session编号,可以通过V$SESSION视图查得。返回值:函数执行返回组成并行stage信息的表。在分布式场景下为全局sessionid,可以通过DV$SESSION视图查得。其中sessionid的值必须为INT类型。

2025-06-30 09:22:40 411

原创 YashanDB V23.4 LTS版本SQL新特性解读

对比两边的计划示意图,可以很明显的看到,左边的COUNT STOPKEY + SORT / HASH GROUP 被优化成了SORT GROUPBY STOPKEY,这个优化很直观的从2个算子合并成了1个算子,在子查询数据量大而STOP KEY少的场景下,合并后的算子收益非常明显。该类型将完整的、带时区的日期和时间信息进行存储,参与到计算引擎计算过程中。如图所示,在filter in,filter and/or等场景,可以根据代价模型的选择,结合已建立的索引,根据filter的多列情况,选择最优索引计划。

2025-06-24 15:29:37 697

原创 YashanDB V23.4 LTS共享集群主备复制能力再升级

马志宏 YashanDB高可用架构师YashanDB V23.4 LTS版本增强了共享集群主备复制能力,本文将对集群主备复制机制的架构、部署模式、一致性实现进行深入探讨和技术分析。

2025-06-24 15:14:28 969

原创 YashanDB LOCALTIMESTAMP函数

如果一个SQL语句中出现了多个LOCALTIMESTAMP函数,在该语句执行过程中将只调用一次函数,即保证多个LOCALTIMESTAMP函数返回的是相同一个时间戳值。LOCALTIMESTAMP函数返回数据库所在的操作系统设置的当前时间戳,其返回类型为TIMESTAMP,且与TIMESTAMP_FORMAT参数所指定格式一致。当LOCALTIMESTAMP函数参与运算时,其运算规则与TIMESTAMP类型一致,见。本函数不支持向量化计算。

2025-06-16 15:18:36 242

原创 YashanDB LOCALTIME函数

LOCALTIME函数返回数据库所在的操作系统设置的当前时间戳,其返回类型为TIMESTAMP,且与TIMESTAMP_FORMAT参数所指定格式一致。如果一个SQL语句中出现了多个LOCALTIME函数,在该语句执行过程中将只调用一次函数,即保证多个LOCALTIME函数返回的是相同一个时间戳值。当LOCALTIME函数参与运算时,其运算规则与TIMESTAMP类型一致,见。本函数不支持向量化计算。

2025-06-16 15:17:30 155

原创 YashanDB LNNVL函数

本函数通常在WHERE语句中使用,也可以作为搜索表达式中的条件,在这类语句中,普通的条件判断对NULL操作数返回false或者未知,从而导致空数据被过滤,使用LNNVL函数则可以解决这个问题,减少用户还需进行IS NULL判断的操作处理。当condition的结果为false或者未知时,函数返回true;当condition的结果为true时,函数返回false。YashanDB支持的条件语句,具体参考通用SQL语法condition。LNNVL函数用于计算条件,尤其适用于计算存在操作数为NULL的条件。

2025-06-16 15:16:38 140

原创 YashanDB LN函数

expr的值为须为数值型,或可以转换为NUMBER类型的字符型(转换失败返回Invalid number错误)。对于其他类型,函数返回类型不支持。基于自然对数的数学概念,expr的值应该为一个正数。当expr的值为NULL时,函数返回NULL。的自然对数,返回一个DOUBLE类型的数值。

2025-06-16 15:15:38 125

原创 YashanDB LISTAGG函数

separator可以为常量(含常量表达式)或绑定参数的变量表达式,其数据类型不能为BOOLEAN、BIT、CLOB、BLOB、JSON、UDT、XMLTYPE和NCLOB。当expr为RAW类型时,separator必须为RAW(或可以隐式转换为RAW)类型。当expr的类型为RAW时,函数返回RAW类型,否则函数返回VARCHAR类型。执行拼接操作,并通过分隔符分隔,返回一行VARCHAR/RAW类型的字符串。,将每个分组窗口内的行进行拼接,分组窗口内每一行的拼接结果都相同。示例(TAC表、LSC表)

2025-06-16 15:13:49 596

原创 YashanDB LTRIM函数

指定trim_character时,函数将会从左往右对比expr与trim_character中的字符,当expr中的字符在trim_character中则将其删除,直到遇到从左往右的第一个不在trim_character中的字符后停止。当expr为CLOB类型时,返回值为CLOB类型,当expr为NCHAR/NVARCHAR时,返回值为NVARCHAR类型,其余返回值为VARCHAR类型。指定要匹配的内容,trim_character为与expr相同的通用表达式,须为字符型,或可转换为字符型的其他类型。

2025-06-16 15:05:32 135

原创 YashanDB LSFA_LISTAGG函数

在多行计算中,函数将忽略string值为空的行,当所有行均为空时,计算结果为NULL。LSFA_LISTAGG函数将多行的数据执行拼接操作,并通过分隔符。在单行计算中,当string的值为NULL时,函数返回NULL。本函数输出结果长度最长为32000,超过32000则报错。string的值为字符型,或可转换为字符型的其他类型。本函数是聚合函数,但不支持DISTINCT和ALL。进行分隔,返回一行VARCHAR类型的字符串。,并重启数据库使配置生效。本函数仅适用于单机部署。本函数不支持向量化计算。

2025-06-16 15:04:11 192

原创 YashanDB LPAD函数

该值指定了填充之后字符串的长度,pad_length为与expr相同的通用表达式,须为数值型数据,或可转换为NUMBER类型的其他类型数据,取值范围[-9223372036854775808,32000]。指定pad_character时,本函数将循环从左至右读取pad_character的字符并填充到expr的左边,直到满足pad_length的长度要求为止。该值指定了要填充的内容,pad_character为与expr相同的通用表达式,须为字符型数据,或可转换为字符型的其他类型数据。

2025-06-16 15:02:52 271

原创 YashanDB LOWER函数

当expr为CHAR、NCHAR、NVARCHAR类型时,返回值为CHAR、NCHAR、NVARCHAR类型,其余场景返回值为VARCHAR类型。expr不支持32000字节以上的XMLTYPE、LOB类型数据。expr的值须为字符型,或可转换为字符型的其他类型。的值中的大写字母转换为小写,返回一个新字符串。当expr的值为NULL时,函数返回NULL。

2025-06-16 15:01:47 284

原创 YashanDB MAX函数

当USE_NATIVE_TYPE为FALSE时,除FLOAT类型返回为NUMBER外,其余返回值类型与参数的类型一致。聚集函数不可嵌套,因此expr为除聚集函数之外的其他通用表达式,其数据类型可以是除布尔型、大对象型、JSON、XMLTYPE及UDT以外的数据类型。在多行计算中,函数将忽略expr值为空的行,当所有行均为空时,计算结果为NULL。在单行计算中,当expr的值为NULL时,函数返回NULL。表示在计算最大值时,过滤掉重复的行。,并支持滑动窗口,返回多行的最大值。MAX函数计算给定参数。

2025-06-16 15:00:26 281

原创 YashanDB MOD函数

2的值为数值型,或可以转换为NUMBER类型的字符型(转换失败返回Invalid number错误)。对于其他类型,函数返回类型不支持。在算术运算时,YashanDB通过隐式数据转换,将参与运算的数据类型统一到某个数据类型,并按此数据类型返回运算结果,具体规则请参考。当expr1或expr2中任一值为NULL时,函数返回NULL。MOD为取模函数,与。

2025-06-16 14:41:52 401

原创 YashanDB MIN函数

当USE_NATIVE_TYPE为FALSE时,除FLOAT类型返回为NUMBER外,其余返回值类型与参数的类型一致。聚集函数不可嵌套,因此expr为除聚集函数之外的其他通用表达式,其数据类型可以是除布尔型、大对象型、JSON、XMLTYPE及UDT以外的数据类型。在多行计算中,函数将忽略expr值为空的行,当所有行均为空时,计算结果为NULL。在单行计算中,当expr的值为NULL时,函数返回NULL。表示在计算最小值时,过滤掉重复的行。,并支持滑动窗口,返回多行的最小值。MIN函数计算给定参数。

2025-06-16 14:20:25 246

原创 YashanDB MEDIAN函数

expr只支持INT、NUMBER与时间类型。partition by的参数支持除LOB、JSON、XMLTYPE、UDT外的其它数据类型。单行计算中,当expr的值为空时函数返回NULL;expr为字面NULL时报错。expr使用绑定参数,绑定字面NULL,返回结果NULL。多行计算中,函数将忽略expr值为空的行。当所有行均为空时,计算结果为NULL。MEDIAN窗口函数不能与DISTINCT以及ORDER BY语句一起使用。的中位数,仅支持expr类型为。本函数不支持向量化计算。

2025-06-16 14:18:48 239

原创 YashanDB MD5函数

expr的值须为字符型,或可转换为字符型的其他类型。返回一个varchar(32)类型的固定长度的十六进制字符串。当expr为nchar类型或做变量的char类型时,函数会将其末尾的空格进行消除,再计算MD5值。当expr为bool类型,函数返回其对应的bool类型数据值(1和0)的MD5值。当expr为double或float类型,函数返回其科学计数法的MD5值。expr不支持32000字节以上的XMLTYPE、LOB类型数据。当expr的值为NULL或空串时,函数返回值为NULL。

2025-06-16 14:16:46 171

原创 YashanDB LOG函数

其值须为数值型,或可以转换为NUMBER类型的字符型(转换失败返回Invalid number错误)。对于其他类型,函数返回类型不支持。LOG函数计算expr2以expr1为底的对数,返回一个DOUBLE类型的数值。当expr1或者expr2的值为NULL时,函数返回NULL。expr1和expr2均为YashanDB认可的。

2025-06-16 10:21:14 178

原创 YashanDB V23.4 LTS共享集群在线扩容能力解读

本文介绍了常见的扩容技术,并详细解读了YashanDB V23.4 LTS版本的共享集群在线扩容能力。

2025-05-30 10:34:10 962

原创 YashanDB ST_UNION函数

ST_UNION函数返回两个geometry对象的并集,返回值为ST_GEOMETRY类型数据。gridsize的数据类型为DOUBLE,表示函数计算时使用的网格线大小,省略则默认为-1。输入的geometry1和geometry2须具有相同的空间参考系标识号(SRID)。函数会将geometry对象投射到网格线上进行计算并返回结果。,其值必须为有效的ST_GEOMETRY类型的数据。示例(单机HEAP表)

2025-05-30 10:05:11 267

原创 YashanDB ST_TRANSFORM函数

ST_TRANSFORM函数根据输入的geometry和srid,返回geometry从原本的空间参考系转换到srid所指定的空间参考系的坐标数据的新geometry。,其值必须为有效的ST_GEOMETRY类型的数据。当输入的参数存在NULL时,函数返回NULL。示例(单机HEAP表)

2025-05-30 10:02:59 166

原创 YashanDB ST_TOUCHES函数

ST_TOUCHES函数的功能是判断两个Geometry是否至少有一个共同点,且它们的内部不相交。如geometry1和geometry2相交,且它们的内部不相交,则返回TRUE,否则返回FALSE。输入的geometry1和geometry2须具有相同的空间参考系标识号(SRID)。对于POINT/POINT输入的情况,总是返回FALSE,因为POINT没有边界。,其值必须为有效的ST_GEOMETRY类型的数据。示例(单机HEAP表)

2025-05-30 10:00:33 418

原创 YashanDB ST_SRID函数

ST_SRID函数用于查询输入的geometry的空间参考系标识号(SRID)。该函数会根据输入的geometry返回一个integer类型的SRID。geometry是一个合法的ST_GEOMETRY类型的数据。当输入的参数存在NULL时,函数返回NULL。示例(单机HEAP表)

2025-05-29 17:50:53 219

原创 YashanDB ST_SPLIT函数

ST_SPLIT函数用于返回input几何对象被blade几何对象切割之后产生的几何对象。,其值必须为有效的ST_GEOMETRY类型的数据。,其值必须为有效的ST_GEOMETRY类型的数据。

2025-05-29 17:50:16 322

原创 YashanDB ST_SIMPLIFY函数

ST_SIMPLIFY函数的功能是使用Douglas-Peucker算法来简化输入的geometry。当输入的参数存在NULL时,函数返回NULL。示例(单机HEAP表)

2025-05-29 17:48:29 195

原创 YashanDB ST_SHORTESTLINE函数

ST_SHORTESTLINE函数根据输入的geometry1和geometry2,返回geometry1与geometry2之间的二维最短LineString,最短LineString的两个端点不一定是输入的几何图形的端点。示例(单机HEAP表)

2025-05-29 17:47:02 179

原创 YashanDB ST_SETSRID函数

ST_SETSRID函数用于将输入的geometry的空间参考系标识号(SRID)设置为指定的srid。该函数根据输入的geometry返回设置好SRID的geometry。支持能够隐式转换成INT的类型,如果输入的是小数则进行四舍五入转换。,其值必须为有效的ST_GEOMETRY类型的数据。srid表示要设置的SRID,其值为INT类型。当输入的参数存在NULL时,函数返回NULL。输入的srid如果是负数,则按照0处理。示例(单机HEAP表)

2025-05-29 17:46:21 132

原创 YashanDB V23.4 LTS全库闪回新特性解读

如图4所示,初始buffer pool里的三个页面A、B、C都是A0、B0、C0的状态,以A页面举例,T1到T5时刻,A页面从A0修改到了A3,理论上是需要记录A0、A1、A2三个闪回日志,这样才能确保A页面能通过闪回日志从A3回退到最初的A0。假设闪回快照点到T3之间修改了三个页面,则会记录这三个页面修改之前的内容并产生闪回日志,后续将数据库从T3回退到闪回快照点时只需要应用闪回日志即可,避免对数据库未产生变化的内容进行无效的回退。第二个是全库闪回快速恢复日志过滤技术。

2025-05-28 11:17:20 1420

原创 YashanDB ST_RELATE函数

ST_RELATE函数的功能是根据输入的边界值规则(boundaryNodeRule),计算用于表示输入的两个Geometry之间空间关系的DE-9IM矩阵字符串。输入的geometry1和geometry2须具有相同的空间参考系标识号(SRID)。,其值必须为有效的ST_GEOMETRY类型的数据。示例(单机HEAP表)

2025-05-28 11:00:44 315

原创 YashanDB ST_POLYGON函数

ST_POLYGON函数根据输入的geometry和srid,返回对应srid中由geometry组成的POLYGON数据。当输入的参数存在NULL时,函数返回NULL。示例(单机HEAP表)

2025-05-28 10:59:40 369

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除