使用PHP& Mysql-
我有120,000名员工的名单。每个人都有一个监督员字段,其中包含主管员工编号。
我希望构建能够以格式化树形式显示员工的内容。鉴于如果您点击任何人,您可以选择下载所有员工(包括他们的信息)。
所以有两个问题 - 我应该编写我的脚本来处理查询(我有但是很慢)或应该创建某种帮助表/视图?我正在寻找这背后的最佳实践。
此外,我确信这已经完成了一百万次。是否有一个处理组织层次结构的好类?
答案 0 :(得分:1)
执行此操作的标准方法是使用一个表来存储所有员工,其中包含employee_id
的主键字段,以及supervisor_id
的字段,即“自我加入” - 表示此字段中的值指向此员工主管的员工ID。就显示员工树而言 - 对于相对较小的树,可以在创建页面时将整个树结构发送到客户端的浏览器,并且可以在从存储的数据中点击节点时显示树节点。但是,对于较大的树,最好根据需要获取数据,即单击节点时。如果您有120,000名员工,那么您可能希望使用后面的方法。