我知道有两种方法:邻接列表和嵌套树.据说由于大量查询,邻接列表在遍历上使用会很慢.但我不知道这方面的任何实际数字.我正在制作的网站将有200页.遍历生成(例如)站点地图需要花费超过0.3秒的时间吗?
使用LAMP堆栈在MySQL(innoDB)上运行.
如果可能的话,我更愿意实现邻接,因为设计更简单.
谢谢.
除了你提到的两个选项之外,还有更多的选择.有:
邻接列表(几乎每个人都使用的"parent_id")
嵌套集
路径枚举
关闭表(又称邻接关系)
请参阅我的回答" 什么是将平台解析成树的最有效/优雅的方法? "
或者几本书:
" 树木和SQL for Smarties一层次 "由乔·塞科.
Vadim Tropashko的" SQL设计模式 ".