在数据库中实现分层数据结构

12 mysql database hierarchical-data

我知道有两种方法:邻接列表和嵌套树.据说由于大量查询,邻接列表在遍历上使用会很慢.但我不知道这方面的任何实际数字.我正在制作的网站将有200页.遍历生成(例如)站点地图需要花费超过0.3秒的时间吗?

使用LAMP堆栈在MySQL(innoDB)上运行.

如果可能的话,我更愿意实现邻接,因为设计更简单.

谢谢.

Bil*_*win 14

除了你提到的两个选项之外,还有更多的选择.有:

  • 邻接列表(几乎每个人都使用的"parent_id")
  • 嵌套集
  • 路径枚举
  • 关闭表(又称邻接关系)

请参阅我的回答" 什么是将平台解析成树的最有效/优雅的方法? "

或者几本书: