性能和冗余之间是可以折中的如果你非要或者不得不追求性能,那就在[分类表]的基础上生成[分类关系表]比如 1下面有2,2下面有3,生成一张结构一样的表,1下面有2和3,2下面有3,这个完全可以用触发器来让[分类表]和[分类关系表]达到同步,这样就只有相当于2层的结构,查询的时候直接写join就可以了如果非要追求数据库最小设计,性能一定会受影响,而且必须用in,说游标的就算了