我有 4 个运行 JDEdwards 的 AS400。
最近发生了一个性能问题,如下所述:AS400 Performace issue
虽然我不是 AS400 的专家,但我试图找出原因。我认为归结为:
我在所有系统中运行以下 SQL:
select sort_sequence,index_schema,count(*) from qsys2.sysindexstat group by sort_sequence,index_schema
在我的 4 个系统中的 3 个中,它们都有 sort_sequence="BY HEX VALUE"
在我的 4 个有问题的系统中,许多索引都有 sort_sequence="*LANGIDSHR"
我开始相信这会导致性能问题,因为查询优化器可能会闲置这些索引并创建临时索引。
我希望有人知道从现在开始往哪里走以及如何走。
是否有任何特定设置使所有索引都具有默认的 sort_sequence?
我所有的索引都是大量创建的,所以这不会错误地发生。
解决方案:排序序列
简而言之,问题是由不正确的客户端 odbc 设置引起的,使索引不是 *HEX 而是特定于语言的,从服务器的角度来看索引使用无用。