|
2 / 2 / 3
Регистрация: 30.03.2016
Сообщений: 19
|
|||||||||||
Как оптимизировать запрос с большим количеством join к одной и той же таблице?16.11.2016, 18:17. Показов 6005. Ответов 6
Метки нет (Все метки)
Здравствуйте. Есть таблица вида :
id fk1 fk2 1 1 7 2 1 3 3 1 9 4 2 3 5 2 5 Нужно выбрать fk1 where fk2 = x При этом пользователь может задать произвольное количество fk2. То есть искать только если fk2 = 3 , или же fk2 = 3 and fk2 = 9 В чем суть моей проблемы и, собственно, вопроса: Если пользователь задает 1 параметр для поиска, выборку делать абсолютно просто. Я это делаю таким запросом, хотя там вложенный select и не нужен:
Добавлено через 7 минут Прошу прощения за глупую тему. сказывается недостаток сна. Сам себе проблему придумал и сам себя напугал. можно считать тему закрытой. жаль нету такого функционала на форуме.
0
|
|||||||||||
| 16.11.2016, 18:17 | |
|
Ответы с готовыми решениями:
6
Как правильно составить Inner Join с обращением к одной и той же таблице Запрос к одной и той же таблице БД Как оптимизировать запрос с Left Join? |
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 16.11.2016, 18:22 | |
|
0
|
|
|
2 / 2 / 3
Регистрация: 30.03.2016
Сообщений: 19
|
|
| 17.11.2016, 04:19 [ТС] | |
|
Спасибо, конечно, но я сначала создал тему, а потом вспомнил курс по БД в часности оператор ин.
Добавлено через 6 часов 39 минут хотел не ворошить уже, но чет задело "OMG". Тк изначально лично думал, что это рабочий вариант, решил прочитать ман. после чего понял что in не есть решением данной задачи. Прочтите внимательно условие, в выборке должен быть результат where fk2=3 AND fk2=9 но не or. То есть просто дальше к запросу добавлять ещё 1 джоин на каждый параметр. Добавлено через 2 часа 26 минут как оказалось чистые join работали не всегда корректно. помогло внедрение all. зы это для тех, кто попадет на эту тему с поисковиков.
0
|
|
|
шапоклякистка 8-го дня
|
||||||||||||
| 17.11.2016, 08:08 | ||||||||||||
Только по плану выполнения проверьте, точно ли этот запрос лучше, чем ваш. Потому что более аккуратненький текст еще не гарантирует лучшей работы. Добавлено через 2 минуты Добавлено через 5 минут А вообще, я дуб Есть же Intersect ))
0
|
||||||||||||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|||||||
| 17.11.2016, 11:11 | |||||||
|
То, что вам нужно называется "реляционное деление". Реализовать можно, например, так:
1
|
|||||||
|
шапоклякистка 8-го дня
|
|
| 17.11.2016, 15:35 | |
|
invm, круть!
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 18.11.2016, 11:14 | |
|
texnik-san, материал по теме - http://www.sql-tutorial.ru/ru/... ision.html
1
|
|
| 18.11.2016, 11:14 | |
|
Помогаю со студенческими работами здесь
7
Оптимизировать код, обрабатывающий файлы с большим количеством слов Запрос с большим количеством параметров Запрос к БД с большим количеством записей
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
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. . . .
|