gpt4 book ai didi

python - 为复杂查询正确索引大型时间序列数据集

转载 作者:行者123 更新时间:2023-11-29 13:41:50 24 4
gpt4 key购买 nike

我有一个很大的时间序列数据表。 ~ 8 亿行。我需要正确索引这个大型数据集。我的 UI 有下拉菜单输入作为查询选择器,允许用户更新数据集/可视化。有 7 个潜在的用户输入会提示对表进行查询

通常查询顺序保持一致。 Stage>Week>Team>Opponent>Map>Round>Stat。我应该在这个序列上创建一个单一的多列索引吗?或者我应该应用多个多列索引吗?或者第三种选择是对用户输入的每一列分别进行索引。哪种方法最有效?

def timeseries (map,stage,week,stat,team,opponent,round):
teams=[team,opponent]
df=df[df.match_id == id_dict[stage][week][team][opponent]]
df=df[df.mapname == map]
df=df[df.stat_type == stat]
df=df[df.team.isin(teams)]
df=df[df.map_round == round]

--> df to visualization.

match_id 的第一个过滤器有点变通,因为用户实质上是根据其他输入选择器间接选择匹配 ID。 (id_dict 返回一个游戏的单个匹配 id)

最佳答案

本文可能有用,具体取决于您运行的 PostGRES 版本 PostGRES Indexing总结:

数据库会结合尽可能多的单行索引进行优化,但它仍然需要交叉引用整行。如果您知道某些行组合比其他行更受欢迎,我会在这些行上创建组合索引以获得更好的性能。如果您不向表中插入数据,那么拥有多个索引应该不会有什么坏处。

关于python - 为复杂查询正确索引大型时间序列数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54227651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com