Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2016, 12:34   #11
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Сами строки (пара product_id и filter_id) уникальны
т.е. там (в СУБД) прописана ЭТА уникальность.
unique index (product_id, filter_id) или unique index(filter_id, product_id) ???

Если ее нет СДЕЛАЙТЕ.

наличие ГАРАНТИРОВАННОЙ уникальности (unique index) позволяет "забыть" про distinct
в КАЖДОМ отдельном
Код:
select distinct product_id from t where filter_id=10 --ВСЕ product_id и так уникальны для ЗАДАННОГО filter_id
select         product_id from t where filter_id=10
JOIN лучше не полную таблицу а потом много фильтровать большую.
а сначала отобрать, а потом JOIN только нужного

Код:
select f10.product_id
from ( --первый фильтр
         select product_id from t where filter_id=10 
     ) as f10
inner join ( --следующий фильтр 
                select product_id from t where filter_id=20
            ) as f20 ON f20.product_id =f10.product_id
--- и последующие фильтры
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 27.09.2016 в 12:41.
evg_m вне форума Ответить с цитированием
Старый 27.09.2016, 12:42   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Индексов нет
Пока их не будет, до тех пор и будет париться. И не важно какой запрос. Добавь пару индексов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка из базы Vasiliska БД в Delphi 6 11.06.2012 21:11
Сумма не уникального поля. Дмитрий mause Помощь студентам 4 25.01.2012 17:08
Выборка из базы MS Access Provoking Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 06.03.2011 20:39
выборка из базы Alex_2007_bur БД в Delphi 18 04.09.2009 12:14
Выборка пустого поля yulia БД в Delphi 2 09.05.2009 17:07