Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Какие индексы создать ??   Найти похожие ветки 

 
Nazer   (2004-05-11 14:49) [0]

Подскажите плиз, как ускорить запрос
в таблице cat_2 всего три поля
id, idc, idp  (id-уникальный номер,idc-тип товара(указывает на id  в таблице CAT), idp-ссылка на свойство в другой таблице)

этот запрос выполняется больше секунды(во всем виноват оператор in в первом selecte):select id,name from cat where id in (
select idc from cat_2
where idp in (1,23) group by idc having count(*) =2)

а нижеследующий меньше чем 1ms (в результирующей выборке всего две цифры integer)
select idc from cat_2
where idp in (1,23) group by idc having count(*) =2


может посоветуете по другому написать запрос ?


 
Соловьев ©   (2004-05-11 14:56) [1]

попробуй ХП


 
Nazer   (2004-05-11 15:05) [2]

что такое ХП ?


 
Соловьев ©   (2004-05-11 15:11) [3]

http://www.codenet.ru/db/ibsql/CREATE_PROCEDURE.php


 
Johnmen ©   (2004-05-11 15:28) [4]

Возможно так быстрее
select cat.id,cat.name
from cat
join cat_2 on cat_2.idc=cat.id
where cat_2.idp in (1,23)
group by cat.id,cat.name
having count(*)=2


 
Курдль ©   (2004-05-11 15:34) [5]


> может посоветуете по другому написать запрос ?

А условия-то какие? Или нам reverce-enginiring делать из твоего запроса?


 
Nazer   (2004-05-11 16:43) [6]

>>Johnmen ©   (11.05.04 15:28) [4]
Здорово !
15ms напротив 1235ms  - благодарю!


 
Nazer   (2004-05-11 16:52) [7]

при таком запросе IBExpert сообщает:
Plan
PLAN SORT (JOIN (CAT_2 NATURAL,CAT INDEX (RDB$PRIMARY18)))
Adapted Plan
PLAN SORT (JOIN (CAT_2 NATURAL,CAT INDEX (PK_CAT)))

какой индекс надо создать для ускорения работы запроса ?


 
Johnmen ©   (2004-05-11 17:21) [8]

Ну разве что Foreign Key на idc из cat_2, ссылающийся на Primary Key id из cat. Если его еще нет...:)
(Индекс создастся автоматически...)



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
7-1083439078
Dimaxx
2004-05-01 23:17
2004.05.30
Регистрация кодека в системе


3-1084257796
Alex_xxx
2004-05-11 10:43
2004.05.30
ADO, BDE, FOX, dBASE: КОДИРОВКА ДОС/ВИН


1-1084966802
DN
2004-05-19 15:40
2004.05.30
УКАЗАТЕЛИ...


7-1082177980
Эйф
2004-04-17 08:59
2004.05.30
Тахеометр


6-1082008006
mRodion
2004-04-15 09:46
2004.05.30
TIdTCPClient.Connect подвисает