gpt4 book ai didi

python - 在 Postgresql 中存储版本的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:39 25 4
gpt4 key购买 nike

我现在正在开发一个 API,我想存储使用日志。我的 API 现在有几个事件版本,在日志中我希望能够按版本排序和搜索。

目前版本以 vX.X.XX 格式保存为字符串 (varchars)(从 v0.0.16 开始),因此无法通过其中 api_version > "vX.X.XX" 查询。因此,这不是我的最佳解决方案,我想切换到数字。

作为 varchars 的版本可以通过 Postgresql 进行排序,但是速度很慢。

在 python 版本中创建为元组(例如 (1, 0, 0)),因此可以轻松排序。

在 PostgreSQL 中有没有最好的存储版本的方法?什么是最好的类型,并且在排序和搜索方面具有不错的速度性能?

最佳答案

我认为,一个简单的解决方案是尝试将数组作为版本字段的数据类型。在您的情况下,它可能是 int[]

版本表示例:

create table tbl (
id serial not null primary key,
"version" int[] null
);

之后,您可以像处理数组一样按版本过滤、排序或分组。

select * from tbl where "version" > array[2, 3, 10] order by "version";

关于python - 在 Postgresql 中存储版本的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59247203/

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