日期:2014-05-16  浏览次数:20818 次

mysql的find_in_set效率探讨

对于树型结构的处理,确实很费劲,但是树型结构又是很常见的,部门、知识点等。一般会在表里面做个parentId形成树结构,查询的时候mysql一般要用到find_in_set把子子孙孙的东东查出来,很简洁方便。可是,经测试,find_in_set的效率比构造很多or条件要慢得多,1W条级的表,就要慢1000倍,简直不是玩意!我现在都要强迫自己忘记mysql里面有find_in_set这个鸟玩意。2点需要跟各位同仁探讨:

1、用数据表表示tree型结构,有无更好办法?我知道老外提出一种平坦模型来搞,查询很方便高效,但是貌似添加、修改麻烦,更重要的是那种模型不直观。

2、find_in_set有无简单、非侵入式的替代方案?