|
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
|
|||||||||||||||||||||||||||||||
Сложный запрос фигурируют три таблицы09.12.2013, 10:44. Показов 718. Ответов 6
Метки нет (Все метки)
Решил сделать поиск по сайту (по тегам) в котором фигурируют три таблицы.
Первая таблицы картинок
Вторая таблица список всех существующих тегов
Третья таблица связывает TABLE.id = TABLE_TAG.id
Второй вариант я не могу решить, но логику примерно представляю, а вот по нагрузкам даже и не представляю. К примеру есть тег "слово", данный тег присутствует в 10 000 картинок, т.е. в таблице TABLE_TAG_INIT содержится 10 000 TABLE.id Для того чтобы мне узнать все TABLE.id содержащие тег "слово" я склеиваю две таблицы TABLE_TAG и TABLE_TAG_INIT
а именно 22|98|172|195 И тут у меня тупик, т.е. прогнать все это дело через цикл и ОПЯТЬ токи дергать записи с таблице TABLE.id по одной штуке, что то не хочется (да это вариант, но думаю есть какая то еще выборка позволяющая выбрать список записей по ID не перебираю их по одному). Есть ли у кого идеи по этому поводу?
0
|
|||||||||||||||||||||||||||||||
| 09.12.2013, 10:44 | |
|
Ответы с готовыми решениями:
6
Сложный запрос на создание таблицы Сложный запрос с JOIN внутри таблицы Сложный запрос из одной таблицы с предварительной обработкой данных |
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
||
| 09.12.2013, 11:41 | ||
|
0
|
||
|
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
|
|
| 09.12.2013, 12:31 [ТС] | |
|
0
|
|
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
|
| 09.12.2013, 13:05 | |
|
0
|
|
|
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
|
||
| 09.12.2013, 13:27 [ТС] | ||
|
Лишние запросы же ни к чему. Хотя выслушаю ваше мнение или какие то идеи, не исключено что я не прав, было бы супер по обсуждать это. По теме, решил проблему склеив три таблицы, вроде бы работает очень шустро, но еще поэксперементирую, попробую как с like работает, но уверен что через него дольше.
0
|
||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||||
| 09.12.2013, 15:56 | ||||||
|
У вас три таблицы, связка многие ко многим. и ещё сразу список тегов в поле чрез запятую.
по сути это просто дублирование данных, при выводе, совершенно не обязательно каждый раз выполнять запрос, для это применяют кеш. Искать по полю через запятую тоже нет смысла что бы найти все записи с тегом Лопата
добавьте индексы ко всем полям в запросе, особенно к полю name, что бы поиск по строке был быстрым.
0
|
||||||
|
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
|
|||||||||||
| 09.12.2013, 16:34 [ТС] | |||||||||||
|
У меня примерно так и сделано, только пришлось еще пару таблиц добавить, так как в них нужно для вывода информация
Теги храню в таблице image, чтобы не делать таких запросов где они не нужны. Есть страница картинки, где необходимо вывести теги, запрос выше как раз таки будет делать лишние телодвижения, а мне достаточно сделать все лишь
0
|
|||||||||||
| 09.12.2013, 16:34 | |
|
Помогаю со студенческими работами здесь
7
В запросе к БД фигурируют 3 таблицы. Нужны данные по двум условиям Сложный запрос? Поля из одной таблицы, и поля из другой таблицы, но... Запрос на три таблицы Запрос на три связанные таблицы SQL запрос на три таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|