gpt4 book ai didi

database-design - 你如何在关系数据库中存储一个 trie?

转载 作者:行者123 更新时间:2023-12-03 14:59:44 25 4
gpt4 key购买 nike

我有一个前缀尝试。在关系数据库中表示这种结构的推荐模式是什么?我需要子字符串匹配以保持高效。

最佳答案

Materialized Path怎么样?设计?

CREATE TABLE trie (
path VARCHAR(<maxdepth>) PRIMARY KEY,
...other attributes of a tree node...
);

存储像“stackoverflow”这样的词:
INSERT INTO trie (path) VALUES
('s'), ('st'), ('sta'), ('stac'), ('stack'),
('stacko'), ('stackov'), ('stackove'), ('stackover'),
('stackover'), ('stackoverf'), ('stackoverflo'),
('stackoverflow');

树中的物化路径是前缀字符序列本身。这也形成了主键。 varchar 列的大小是您要存储的特里的最大深度。

我想不出比这更简单直接的事情了,它保留了高效的字符串存储和搜索。

关于database-design - 你如何在关系数据库中存储一个 trie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/355051/

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