performance - Sybase 15 性能问题

标签 performance join nested sap-ase

我在我的应用程序中使用 Sybase 15,存在与嵌套连接相关的性能问题。我有存储过程,它从 2 个表中选择 2 列,并比较这 2 个表之间超过 10 列的相等性。但是当我经营这个商店时。过程,结果需要 40 分钟。我在我的程序顶部添加了“set merge-join off”语句,然后结果需要 22 秒。但我还需要一个没有它的解决方案。我之前使用的是 sybase 12.5,没有任何类似的问题,我的过程需要 3 分钟才能得到结果。

我用 sp_configure 比较了 15 和 12.5 之间的服务器配置,sybase15 服务器配置(I/O 和内存配置设置)比 sybase12.5 服务器大。

信息:sybase15所在pc的系统资源真好。

最佳答案

和其他人一样,我有同情心,而不是真正的答案!我们看到一个问题,即 ASE 15 查询规划器大大低估了表扫描的成本,并同样高估了使用聚集索引的成本。这导致合并连接成为建议的计划。禁用合并联接或设置 allrows_oltp optgoal 有时 会产生更好的查询计划。估计的成本仍然相差甚远,但通过从表中删除一个选项,查询规划器可能会找到一个好的解决方案 - 尽管通过错误的分析。

ASE 15 文档说它有一组更清晰的算法,而 ASE 12 规划器有一堆特殊情况。也许一个特殊情况说“如果你在连接中有聚簇索引列,它将比表扫描更快”并不是一个坏主意......:(

关于performance - Sybase 15 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1551664/

相关文章:

Python:如何使冒泡排序的实现更加省时?

mysql - 我没有在 mysql 查询中获得正确的数据。任何人都可以帮助我吗?

android - android中ZXing和ZBar的解码速度

php - 循环查询越来越慢

performance - PhantomJS 是否完全实现了 Navigation Timing API 和 Performance Timing API?

mysql - 从 MySQL 中的四个或更多表中获取值

Excel公式计算表之间的连接

c - 如何在 C 语言中分隔括号之间的术语并列出它们

sql - 相当于 sql 嵌套查询的密码

excel - 当两者在同一工作簿中指定不同的工作表时,我可以将 With 嵌套在 With 中吗?编程语言