对于树型结构的处理,确实很费劲,但是树型结构又是很常见的,部门、知识点等。一般会在表里面做个parentId形成树结构,查询的时候mysql一般要用到find_in_set把子子孙孙的东东查出来,很简洁方便。可是,经测试,find_in_set的效率比构造很多or条件要慢得多,1W条级的表,就要慢1000倍,简直不是玩意!我现在都要强迫自己忘记mysql里面有find_in_set这个鸟玩意。2点需要跟各位同仁探讨:
1、用数据表表示tree型结构,有无更好办法?我知道老外提出一种平坦模型来搞,查询很方便高效,但是貌似添加、修改麻烦,更重要的是那种模型不直观。
2、find_in_set有无简单、非侵入式的替代方案?
本文讨论了树型结构在数据库中的实现方法,特别是针对MySQL中find_in_set函数的使用及其性能问题,提出了对于树型结构存储及查询的改进思路。
3万+

被折叠的 条评论
为什么被折叠?



