我有一个查询,其中我按一个具有非常大字段(大多数字段有数千个字符)的列进行分组,并看到性能受到影响。按其他较小列分组对性能没有成比例的影响。我的直觉是,groupby是基于散列的,所以大小无关紧要(我找不到关于引擎盖下行为的文档)是否还有其他因素在起作用,或者场地大小是否会以某种方式影响团队的表现?
yfjy0ee71#
我的直觉是groupby是基于散列的,所以大小无关紧要我对这种React有点困惑。哈希需要处理两个键操作的整个键值:生成哈希值。正在检查哈希表中的冲突。我对postgres哈希表的实现不是很熟悉,但是大的键值也有消耗内存的风险——这会减慢任何算法的速度。我希望哈希的性能与密钥长度成正比。
b1uwtaje2#
您是否尝试过在要分组的字段上创建组合索引?
2条答案
按热度按时间yfjy0ee71#
我的直觉是groupby是基于散列的,所以大小无关紧要
我对这种React有点困惑。哈希需要处理两个键操作的整个键值:
生成哈希值。
正在检查哈希表中的冲突。
我对postgres哈希表的实现不是很熟悉,但是大的键值也有消耗内存的风险——这会减慢任何算法的速度。
我希望哈希的性能与密钥长度成正比。
b1uwtaje2#
您是否尝试过在要分组的字段上创建组合索引?