oracle向pg迁移中的sql优化问题?

1、两表字段匹配时由于字段类型不同,导致性能下降。
2、两表字段匹配,同时大表字段有条件筛选,由于sql代码问题,先匹配再筛选,导致性能下降。
3、筛选字段上应用了时间或字符函数,导致未用索引。
其他可能还有,待各位老师和同行补充。
个人觉得,oracle对于情况1和2,可能有些自带的优化处理,导致不发生性能问题,而同样的语句拿到pg,就不行了。
在数据库迁移中会遇到大量的问题sql,能不能有通用的处理方法,能自动发现到上述会引起性能问题sql?

参与12

ChatGPT 回答

针对上述问题,可以采取以下解决思路:

  1. 两表字段匹配时由于字段类型不同,导致性能下降

在这种情况下,可以考虑对字段类型进行转换,使其匹配。如果无法转换,则可以使用函数将字段进行转换,以便进行匹配。此外,还可以考虑使用索引来提高匹配的效率。

  1. 两表字段匹配,同时大表字段有条件筛选,由于sql代码问题,先匹配再筛选,导致性能下降

在这种情况下,可以考虑优化SQL语句,将筛选条件放在匹配条件之前,以便先筛选出需要的数据,再进行匹配。此外,还可以考虑使用索引来提高匹配和筛选的效率。

  1. 筛选字段上应用了时间或字符函数,导致未用索引

在这种情况下,可以考虑使用索引来提高查询效率。如果无法使用索引,则可以考虑对数据进行预处理,以便在查询时不需要使用函数。

对于数据库迁移中遇到的问题SQL,可以考虑使用自动化工具进行处理。例如,可以使用SQL性能分析工具来分析SQL语句的性能问题,并提供优化建议。此外,还可以使用SQL自动化工具来自动发现和修复性能问题SQL。

提问者

fable_cao
数据库管理员东吴证券股份有限公司

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-09-01
  • 关注会员:3 人
  • 问题浏览:1472
  • 最近回答:2023-09-14
  • X社区推广