这是与Postgresql。通过查询排序忽略标点符号
表中的列包含带标点符号的字符串值。这些值是“aac”,“.aaa”,“aa_b”等。当此列按顺序指定时,结果顺序几乎是随机的。以句点开头的字符串应该出现在顶部,这不会发生。他们出现在中间的某个地方。
令人惊讶的是,只有一个数据库才能看到此行为。相同的查询在其他主机上的数据库上正常工作。
这可能是什么原因?
这是与Postgresql。通过查询排序忽略标点符号
表中的列包含带标点符号的字符串值。这些值是“aac”,“.aaa”,“aa_b”等。当此列按顺序指定时,结果顺序几乎是随机的。以句点开头的字符串应该出现在顶部,这不会发生。他们出现在中间的某个地方。
令人惊讶的是,只有一个数据库才能看到此行为。相同的查询在其他主机上的数据库上正常工作。
这可能是什么原因?
“order by”(字符串比较)行为取决于the cluster's locale。
首先,检查EXPLAIN并查看它是如何进行排序的。
如果EXPLAIN没有显示任何奇数,请检查集群的语言环境 - 可能是使用忽略某些字符的语言环境进行比较。