最近面试,被问到一个树形结构如何设计表结构。我说了最常用的设计方式。
1、数据存储一张表,设计字段:parent_id 。如下图:这样会导致数据量大的话递归查下效率低下。
2、设计中间表,多对一关系。但是好像都没有达到面试官的期望。这样会导致数据存储再多张表,浪费数据库内存。而且数据量大的话,关联查询效率也是问题。
在此第三种设计思路就出来了:
3、基于左右值编码的Schema设计,如下图:类似二叉树的设计。
具体该表的设计思路,以及操作算法可以看这篇博客:点击这里