希望有人在这里将能够提供一些建议的MySQL SELECT查询...如何组织以下
我正在一个明确的searchtag系统。我有类似以下的表格:
EXERCISES
exerciseID
exerciseTitle
SEARCHTAGS
searchtagID
parentID (-> searchtagID)
searchtag
EXERCISESEARCHTAGS
exerciseID (Foreign key -> EXERCISES)
searchtagID (Foreign key -> SEARCHTAGS)
Searchtags可以排列在任意深的树中。因此,例如我可能有searchtags的树,看起来像这样...
Body Parts
Head
Neck
Arm
Shoulder
Elbow
Leg
Hip
Knee
Muscles
Pecs
Biceps
Triceps
现在...
我想引用至少树的一个分支,选择所有searchtags的ONE记录在树的不同分支中的SINGLE searchtag引用的记录子集中。
例如,假设searchtag“Arm”指向练习的一个子集。如果该子集中的任何练习也被来自SEARCHTAGS的“肌肉”分支的searchtags引用,我想为它们进行选择。所以我的查询可能会返回“二头肌”,“三头肌”。
两个问题:
1)将这样的事情SELECT查询是什么样的? (如果这样的事情甚至可能没有造成很大的减速,我不知道从哪里开始...)
2)有什么我应该做的,以调整我的数据结构,以确保此查询将继续跑得快 - 即使桌子变大了?
在此先感谢您的帮助,非常感谢。