Главная страница
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.158 c
14-1084534455
Style
2004-05-14 15:34
2004.05.30
Какая то беда с Windows.SetTimer


1-1084822240
connect
2004-05-17 23:30
2004.05.30
Как взять значение переменных окружения в виндузе и ....


1-1084559440
Dhg
2004-05-14 22:30
2004.05.30
Как определить цвет пикселя.


7-1082701455
Igor_
2004-04-23 10:24
2004.05.30
Чтение LPT


3-1083617193
SergP
2004-05-04 00:46
2004.05.30
Модификация записей в одной таблице сразу из двух TAdoQuery.