我有一个前缀trie.在关系数据库中表示此结构的推荐架构是什么?我需要子串匹配才能保持高效.
如何对物化路径设计?
CREATE TABLE trie ( path VARCHAR() 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列的大小是您要存储的最大trie深度.
我想不出比这更简单和直接的东西,它保留了有效的字符串存储和搜索.