#23.2.5

# 版本定位

YashanDB v23.2.5版本在v23.2.1的基础上丰富了新特性与持续进行性能优化,为可用于长期服务支持的版本。

# 版本说明

版本号:v23.2.5

发版日期:2024 年 9 月 20 日

# 特性更新

YashanDB v23.2.5版本继承自YashanDB v23.2.4版本全部发布的功能,同时新增以下关键能力特性:

# 内核能力增强

  • 性能:

    • INSERT INTO SELECT场景的IO性能优化:在INSERT INTO SELECT操作且插入的表具有多索引的场景下,YashanDB在该版本对索引事务内部机制进行了优化,减少小数据量时REDO的刷盘IO次数,提升了该场景下的插入性能。

    • 多列IN支持通过索引优化:在多列IN的场景下,例如(col1, col2, col3) IN ((value1_1, value1_2, value1_3), (value2_1, value2_2, value2_3)),YashanDB针对此场景对优化器进行优化,使用col1、col2和col3上的组合索引、单列索引生成计划进行评估,按照选择最低cost的索引和扫描方式执行,避免选择代价大的索引和扫描方式的情况,提升执行效率和性能。

  • 功能:

    • 支持JSON_VALUE函数:新增JSON_VALUE函数,实现从JSON数据中提取单个标量值(例如字符串、数字、布尔值),丰富使用场景,提高兼容性。

    • INSTR函数支持CLOB类型:支持在CLOB类型数据中搜索指定的字符串,并返回其位置。对于处理大文本数据提高效率,丰富使用场景。

# 易用性

  • v23.2.5之前,使用yasql支持@符号调用操作系统上的SQL文件执行,该版本增强次功能,通过@@实现调用当前脚本的路径作为相对路径的基准点SQL脚本文件,方便嵌套脚本,适合处理多层级的脚本调用。

  • 新增SPOOL命令支持以数字开头作为输出文件名,用于将yasql会话中的输出内容保存到文件中,丰富了使用场景。

# 驱动

  • ODBC支持取单列数据多次调用SQLGetData接口:通过PHP pdo_odbc方式调用ODBC驱动取单列数据时是循环调用SQLGetData接口取数固定256,单列数据超过256需要支持循环调用。该版本YashanDB新增此功能,实现处理大字段数据能力,避免一次性加载大量数据导致内存溢出,提高了处理性能和灵活性。

  • JDBC支持mapDataToTimestamp接口:新增mapDataToTimestamp接口,在使用getString获取一个底层为date类型的数据时,实现了转换成java.sql.Timestamp类型的能力,提高兼容性。