为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8
【操作系统】:linux
【CPU】:
【问题描述】*:在查询性能优化的时候,发现有一些sql执行在dm管理工具中执行起来非常的快,但是在程序中执行的相同的sql就非常的慢。后面经过测试,有些sql使用PreparedStatement和Statement的执行性能会吃差很远。Statement的执行速度基本和dm管理工具的执行速度一致,但是只要1秒多,但是使用PreparedStatement 执行就要几十秒。
造成这个现象的原因是,
1代码查询使用的SQL与在管理工具中的SQL不一样(格式要完全一样)
2是否在代码中用了绑定变量,而在管理窗口中查询时,是写定了变量值
解决的办法是收集表统计信息,然后看执行计划是否正确
您好 请问你这个问题解决了吗 我这边也遇到相同问题了
客户端调用走api,java一般通过jdbc接口,两者方式不同,java还可能通过中间件,所以java的连接配置和环境比客户端更多。
可以给下你碰到的范例,对应的测试示例,执行速度比较截图。方便分析看下是哪块优化问题。