G 技术分享
200 万条联想词,Trie 吃掉 2.2 GB 之后
200 万条搜索词的前缀匹配,用 HashMap 做 Trie 吃掉 2.2 GB 内存。本文拆解这 2.2 GB 的具体构成,对比 26 叉数组、Radix Tree、双数组 Trie 和排序数组二分的真实开销,并记录空串、surrogate pair、热更新等边界上的踩坑。
2026-11-01
#Trie#Radix Tree
1
Blog
格达软件工程师的实战经验、技术选型与行业观察
200 万条搜索词的前缀匹配,用 HashMap 做 Trie 吃掉 2.2 GB 内存。本文拆解这 2.2 GB 的具体构成,对比 26 叉数组、Radix Tree、双数组 Trie 和排序数组二分的真实开销,并记录空串、surrogate pair、热更新等边界上的踩坑。
200 万行的订单表上,同一句按商户查订单的 SQL,只因为联合索引里列的顺序不同,扫描的数据页差了 40 倍。这篇用可复现的建表脚本和 EXPLAIN 输出,讲清楚等值、范围、排序列在 B-tree 里各自能做什么,以及哪些写法会让索引直接白建。