希望有人在這裏將能夠提供一些建議的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)有什麼我應該做的,以調整我的數據結構,以確保此查詢將繼續跑得快 - 即使桌子變大了?
在此先感謝您的幫助,非常感謝。