subtreeIds()
subtreeIds(int $id) : int[]
子树(含自身)节点 id 集。
流程:① 查自身 ancestors ② 计算前缀区间 ③ 区间扫描取全部后代 id ④ 补入自身 id 后返回。
Parameters
| int | $id |
树模型子树(含自身)id 集查询 Trait
职责:为 SysRegion / SysDept 等 ancestors 树模型提供统一的子树 id 集查询, 用前缀区间查询替代 LIKE '%/id/%' 前导通配(大表全表扫描)。
原理:后代 ancestors 均以「自身 ancestors + 自身 id + /」开头, 区间 [前缀, 前缀末位 '/'→'0') 恰好覆盖该前缀全部字符串,可走 ancestors 列 btree 索引(本库 collation 非 C,LIKE '前缀%' 用不上普通 btree 索引, 范围比较可以——已 EXPLAIN 验证)。