多对多多级查询

时间:2018-02-09 20:07:17

标签: mysql relational-database

我有一张名为" obj_rels"我在哪里有以下字段:

pri_type
pri_type_id
sec_type
sec_type_id

类型表示关系所在的表。例如COM用于注释,FIL用于文件,SBM用于提交或ENT用于实体。 我想知道每种对象类型的实体。例如,

假设我对上传的文件(#3)发表评论(#4),以响应实体(#1)的提交(#2)。 obj_rels表将具有:

+----------+-------------+----------+-------------+
| pri_type | pri_type_id | sec_type | sec_type_id |
+----------+-------------+----------+-------------+
| COM      | 4           | FIL      | 3           |
| SBM      | 2           | FIL      | 3           |
| SBM      | 2           | ENT      | 1           |
+----------+-------------+----------+-------------+

主要和次要条目没有逻辑,因此需要查看两侧以查找匹配项。我怎样才能编写一个可以回溯到关系中的查询来查找" ENT"与" COM"?相关联

我写过的那个人重复了五次联合查询,认为我可能永远不会超过5级,但速度非常慢。表中只有大约9k的记录,运行查询需要30多秒。

此类关系搜索的最佳做法是什么?

谢谢!

0 个答案:

没有答案