varchar字段, where条件 输入数字,没自动转字符串并使用索引

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】 4.2.1-10BP
【问题描述】

如图表plat_wh_shipment_detail 存在字段seller_sku_id。是个varchar(50).
该字段建了索引 KEY idx_seller_sku_id (seller_sku_id) BLOCK_SIZE 16384 LOCAL

查询时,入参条件传了数字。 未自动转字符串并使用索引··· 这个我记得在4.2.1-8BP还支持自动转的。

经测试, 字段为int。 查询条件传 varchar是能自动转 int并使用索引的

没有听说过这种用法,是业务上有什么需求么

历史代码问题。 业务上没有特别需求。 业务端代码写的有问题。就发现了这个转换不支持。 mysql是能支持自动转的

会发生隐式的转化 尽量不要发生隐式转化 会影响sql的查询性能

ob mysql模式和mysql的 有些地方不一样 尽量不要发生隐式的转化 会影响性能

隐式类型转换相关

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015506