当前位置: 首页 > news >正文

oracle和金仓区别,个人睬坑

1、select中使用相关子查询,oracle中正常执行效率,在金仓中严重影响性能。

以下是出现问题原SQL

修改之后,可在金仓执行效率好,但在oracle效率不好
思路将”select相关子查询“修改成left join多表连接。

注意:分页情况时,一定使用order by排序。
如果查询的是视图,视图中sql使用了order by,但是查询视图外的sql没使用,那么分页查询在oracle中不影响效率。但是在金仓严重影响,需要在查询视图后加上order by

原SQL执行语句的抛错

\n### Error querying database. Cause: com.kingbase8.util.KSQLException: An I/O error occurred while sending to the backend.\n### The error may exist in URL [jar:file:/home/scms/plis/lnplis/lnplis-2.0.0.jar!/BOOT-INF/lib/ruoyi-lnplis-0.0.1.jar!/mapper/PurchaseStatisticsQueryMapper.xml]\n### The error may involve com.ultra.plis.statistics.reportform.purchase.mapper.PurchaseStatisticsQueryMapper.findFrameContractInfoForMyBatis-Inline\n### The error occurred while setting parameters\n### SQL: SELECT * FROM ( SELECT TMP_PAGE.*, ROWNUM PAGEHELPER_ROW_ID FROM ( select * from table b where 1=1 ) TMP_PAGE) WHERE PAGEHELPER_ROW_ID <= ? AND PAGEHELPER_ROW_ID > ?\n### Cause: com.kingbase8.util.KSQLException: An I/O error occurred while sending to the backend.\n; An I/O error occurred while sending to the backend.; nested exception is com.kingbase8.util.KSQLException: An I/O error occurred while sending to the backend.

2、金仓对多表连接的条件中,使用or性能不好,所以需要把or拆分

原sql

优化后

3、在kingbase中抛错For queries with named parameters you need to ust provide names for method paremeter,在oracle中不抛错

这个问题的根本原因是KingbaseES对JPA规范的要求更严格,而Oracle的驱动相对宽松。写法问题,不能省略@Param(“orderDetailIds”) ,否则在KingbaseES抛错。

@RepositorypublicinterfaceOrderDetailDaoextendsJpaRepository<OrderDetail,String>,JpaSpecificationExecutor<OrderDetail>{@Query(" from OrderDetail where id in (:orderDetailIds) and (deleteFlag = '0' or deleteFlag is null)")List<OrderDetail>findOrderDetailsByIdIn(@Param("orderDetailIds")List<String>orderDetailIds);}
http://www.jsqmd.com/news/694436/

相关文章:

  • 从‘合闸’到‘分闸’:一张图搞懂煤矿馈电开关内部机械与电气联动逻辑
  • SwiftUI学习笔记4-按钮
  • AMD Ryzen 处理器功耗调校终极实战:RyzenAdj 完整指南
  • 别再傻傻分不清了!Qt状态栏addPermanentWidget、addWidget、showMessage到底谁覆盖谁?
  • 【T5模型架构】从Transformer到T5:架构演进与核心模块拆解
  • 5分钟上手Zotero-Style:让文献管理焕然一新的终极美化插件
  • 《2026年必看:六款热门AI编程工具横评》
  • 线程安全崩塌,连接池雪崩,序列化溢出——C++ MCP网关5大致命报错全解析,附GDB+eBPF精准诊断模板
  • Skywalking存储引擎选择:MySQL vs ElasticSearch vs H2,哪个更适合你?
  • 告别审查:Windows XP系统运行GoodbyeDPI的兼容性挑战与解决方案
  • 2026年版|大模型算法工程师必看!6大核心方向优先级排序(建议收藏)
  • 30天快速上手Python-01Anaconda 安装
  • 蓝牙实战解析:定向广播ADV_DIRECT_IND的连接建立与占空比策略
  • Cadence Virtuoso仿真报错‘No convergence’?别慌,手把手教你调大reltol和减小gmin
  • 别再为IPsec隧道‘单向通’头疼了!手把手教你排查FortiGate双端互连失败(附实战截图)
  • 如何让微信聊天记录成为你的永久数字资产?本地工具WeChatMsg完全指南
  • 别只会说“Thank you”:用ChatGPT润色你的SCI回复信,让语气更地道
  • 手把手教你用face_recognition和Flask,30分钟搭建一个Web版人脸识别系统(Python 3.10+)
  • VSCode实时协作配置失效的7个隐秘原因:从WebSocket超时到权限链断裂的全链路诊断手册
  • WarcraftHelper:魔兽争霸3现代优化终极指南
  • 【学习笔记】车道线识别——图像处理方法
  • Vue Design System:从零开始构建企业级UI设计系统的完整指南
  • 2025年黑苹果装机终极指南:gh_mirrors/ha/Hackintosh项目完全解析
  • paho.mqtt.c与主流MQTT代理集成:Mosquitto、EMQX、HiveMQ实战
  • x-flux IP-Adapter应用实战:实现图像提示生成的高效方法
  • 避坑指南:Win11下用VS2022配置PCL1.12.1,环境变量和VTK警告都帮你搞定了
  • 终极指南:如何用12-Factor Agents构建革命性教育科技个性化学习体验
  • 从CentOS迁移者视角:手把手在VMware上安装openEuler 22.03 LTS SP3并配置中文环境
  • 【收藏级】月薪6万招不到人!2026年AI时代红利,小白程序员必看
  • 【仅限政企开发者】:VSCode国产化调试证书链信任体系重构方案——基于国家密码管理局SM2根证书的100%自主可控调试通道搭建