小编Kan*_*mar的帖子

在分析数据库上存储多个标签

我想在每笔交易中存储用户购买的自定义标签,例如,如果用户购买了鞋子,那么标签是 "SPORTS", "NIKE", SHOES, COLOUR_BLACK, SIZE_12,..

这些标签是有兴趣查询以了解销售情况的卖家。

我的想法是,当新标签出现时,为该标签创建新代码(类似于哈希码但顺序),代码从"a-z"26 个字母开始,然后"aa, ab, ac...zz"继续。现在,将一笔交易中给出的所有标签保存在tag (varchar)用 分隔的一列中"|"

让我们假设映射是(在应用程序级别)

"SPORTS" = a
"TENNIS" = b
"CRICKET" = c
...
...
"NIKE"  = z        //Brands company
"ADIDAS" = aa
"WOODLAND" = ab
...
...
SHOES   = ay
...
...
COLOUR_BLACK = bc
COLOUR_RED = bd
COLOUR_BLUE = be
...
SIZE_12 = cq
...
Run Code Online (Sandbox Code Playgroud)

所以存储上面的购买交易,标签会像tag="|a|z|ay|bc|cq|"现在允许卖家通过添加WHERE条件来搜索售出的鞋子数量tag LIKE %|ay|%。现在的问题是我不能将索引(redshift db 中的排序键)用于“LIKE 以 % 开头”。那么如何解决这个问题,因为我可能有 1 …

performance index index-tuning redshift

7
推荐指数
2
解决办法
3677
查看次数

标签 统计

index ×1

index-tuning ×1

performance ×1

redshift ×1