gpt4 book ai didi

sql - hstore 中没有可预测键的索引

转载 作者:行者123 更新时间:2023-11-29 12:21:19 25 4
gpt4 key购买 nike

假设我有一个博客数据库,其中 posts 表将标签存储在 hstore 中。
键代表标签 ID,值是标签名称。

例如:1=>'测试', 56=>'SQL', 42=>'Java'

我想在带有标签过滤器的帖子上优化选择。为了优化此查询,我应该如何以及应该在标签列上创建什么类型的选择

SELECT * FROM posts WHERE tags?'4'

问题是我没有可预测的键名来根据它们的值创建索引。

在列上创建要点索引会是一个好的解决方案吗?
我如何才能将键视为整数?

最佳答案

GIN 索引可能是更好的选择:

CREATE INDEX posts_tags_idx ON posts USING gin (tags);

这适用于所有键。
如果查询仅针对具有 partial index 的特定键,您可以进一步优化索引:

CREATE INDEX posts_tags_idx ON posts USING gin (tags -> '4')) WHERE x ? '4';

hstore ? text ... does hstore contain key?

但这似乎不是您的选择。

hstore 只存储text,不存储integerPer documentation:

Keys and values are simply text strings.

关于sql - hstore 中没有可预测键的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22183372/

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