Главная страница
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.032 c
7-1083161591
8ung
2004-04-28 18:13
2004.05.30
Как получить указатель на поток, имея ...


8-1079464399
ИМХО
2004-03-16 22:13
2004.05.30
Картинки, резолюции: кто может объяснить?


3-1084283390
MakNik
2004-05-11 17:49
2004.05.30
SQL-запрос


8-1080052987
Pa5ha
2004-03-23 17:43
2004.05.30
Сохранение изображения на холсте в Direct3D


1-1084682121
Янис
2004-05-16 08:35
2004.05.30
народ подскажите я хочу сделать тест и мне нужно что бы при нажат