现在可以提取数据,但我想知道是否有更好的方法来优化大型数据集的查询。
http://sqlfiddle.com/#!4/0ef0c/5 http://sqlfiddle.com/#!4/0ef0c/5
所以基本上我希望能够为查询提供给定的组织 ID,并让它递归地拉出它的父母、孩子、兄弟姐妹以及叔叔阿姨。然后拉取与该组织层次结构关联的任何活动。
Org1 是顶级组织,但它可能有也可能没有空父组织。
基本上,我正在执行向上和向下查询来拉动孩子和父母,但似乎只能通过添加另一个查询来获取兄弟姐妹。最后在朋友的帮助下进行了另一个查询,但它在大数据集(4-5k 的活动)上的性能非常低。
任何见解将不胜感激。
如果您的组织。结构是严格分层的,那么你可以使用这种方法:http://www.ibase.ru/devinfo/DBMSTrees/sqltrees.html http://www.ibase.ru/devinfo/DBMSTrees/sqltrees.html
缺点是每次更新组织结构时都必须更新索引。然而,组织结构通常被更频繁地读取然后被修改。所以恕我直言,这应该可以解决问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)