YashanDB数据库中 Scalar-subquery (标量子查询)缓存

之前写过一篇《Oracle数据库中 Scalar-subquery 缓存和 DETERMINISTIC Function》记录了在oracle中标量子查询时,如果子表的相同的关连值时,可以利用cache,减少运行时的执行调用,PostgreSQL 在V14(14.4) 引入了Memoize 新特性也是类似的优化,在Opengauss系目前还不支持,这种测试在Gauss会查询转换为left out join,最近测试了两天的YashanDB是否支持SS cache,因为没有monitor hint和starts列,比较费时。

测试主流数据库允许同一列(column)上创建重复索引?

之前在《有哪些技术可以减少PostgreSQL/openGauss数据库的存储空间?》记录过,在PG系的数据库上是支持同一列上创建多个索引,这种既浪费存储又增加了更新列时的额外的写代价,日常巡检需要即使发现并清理,下面再测试oracle,mysql(goldendb等),Gaussdb(opengauss系),Kingbase(Postgresql系),oceanbase,达梦,崖山的情况。

Oracle优化器outer join to inner不如YashanDB

Oracle数据库优化器经过数十年的发展,已经具备了相当成熟的自动查询转换能力。无论是面对编写“欠佳”的SQL语句,还是原本规范但在执行时存在更优路径的SQL,优化器通常都能将其等价转换为较优或最优的执行方案,然而最近遇到一个场景却恰恰相反:Oracle优化器在该情况下存在一定的缺陷,而国产数据库YashanDB的表现却超出了预期。

YashanDB dump block确认索引储存’NULL’

前几天在一个YashahDB的测试场景中看到,yashanDB的一个分页查询SQL的相应时间比oracle要快很多,对比执行计划发现是列上没有Not null约束时,YashanDB可以走INDEX FULL SCAN,虽然YashanDB是heapTable, 那看来Null值也在index 中存储(pg同样),这点和oracle不同,下面实际查看一下Yashandb 的block是否有null记录?

YashanDB YAC 的跨节点行锁测试(Oracle enq: tx – row lock contention)

崖山数据库支持了YAC如oracle的集群RAC功能,RAC除了高可用外,大家可能比较关注像性能的提升效率比怎么样?因为大家还是希望增加节点为带了性能横向的扩展,那对于要求在cache fusion中的GES, GCS等资源与锁的管理就要求比较高,还有就是跨节点的并发争用,这里先简单测试row级争用的现象,与oracle还是有些不同。

YashanDB V23.5 YAC共享集群安装初体验

Oracle RAC的共享存储架构始终是集中式数据库实现高可用的经典方案,承载了众多行业核心业务系统的稳定运行。昨日,这一架构阵营中又迎来一位新成员——崖山数据库正式发布了V23.5版本,推出了支持YAC共享集群架构。出于对这一技术的关注,我连夜申请了安装介质,并第一时间进行了部署与体验。