Надеясь, что кто-то здесь будет в состоянии предоставить некоторые MySQL советы ...Как структурировать SELECT, запрос на следующий
Я работаю на категорический системе searchtag. У меня есть таблицы, похожие на следующие:
EXERCISES
exerciseID
exerciseTitle
SEARCHTAGS
searchtagID
parentID (-> searchtagID)
searchtag
EXERCISESEARCHTAGS
exerciseID (Foreign key -> EXERCISES)
searchtagID (Foreign key -> SEARCHTAGS)
Поисковые теги могут быть расположены в произвольно глубоком дереве. Так, например, я мог бы дерево searchtags, который выглядит следующим образом ...
Body Parts
Head
Neck
Arm
Shoulder
Elbow
Leg
Hip
Knee
Muscles
Pecs
Biceps
Triceps
Теперь ...
Я хочу, чтобы выбрать все searchtags в одной ветви дерева, что ссылка, по крайней мере ОДНА запись в подмножестве записей, на которые ссылается одномерный поиск в РАЗЛИЧНОЙ ветке дерева.
Например, скальп «Arm» указывает на поднабор упражнений. Если какое-либо из упражнений в этом подмножестве также ссылается поисковыми тегами из ветви «мышц» ПОИСКА, я бы хотел выбрать для них. Поэтому мой запрос может потенциально вернуть «Бицепс», «Трицепс».
Два вопроса:
1) Что бы ВЫБРАТЬ запрос на что-то, как это выглядит? (Если такое возможно даже без большого замедления, я не уверен, с чего начать ...)
2) Что-нибудь я должен сделать, чтобы настроить мою структуру данных, чтобы этот запрос продолжался бежать быстро - даже когда таблицы становятся большими?
Заранее благодарим вас за помощь, это очень ценно.