Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Насколько SQL Server "умно" составляет план выполнения SP ? / 1 сообщений из 1, страница 1 из 1
29.03.2001, 18:38
    #32003718
DennisL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Насколько SQL Server "умно" составляет план выполнения SP ?
Может ктонибудь знает насколько "умно" SQL Server составляет план выполнения SP ?
имееться в виду примерно следующая ситуация :
CREATE PROCEDURE spL_Mng_GetFiltredCust_List
@Manager varchar(25)=NULL,
@AgrNum varchar(30)=NULL,
@cust_type int=NULL,
@industry_type smallint=NULL,
@dislocation int=NULL,
@CustType_id int=NULL
AS
IF @Manager='CURRENT_USER' SET @Manager=CURRENT_USER

SELECT c.cust_id, c.cust_name, c.reg_no, c.ul_manager, t.cust_type
FROM cust_types t INNER JOIN customers c ON c.cust_type = t.cust_type_id
WHERE (@Manager IS NULL or c.ul_manager=@Manager)
and (@cust_type IS NULL or c.cust_type=@cust_type)
and (@industry_type IS NULL or c.industry_type=@industry_type)
and (@dislocation IS NULL or c.dislocation=@dislocation)
and (@CustType_id IS NULL or c.Cust_id IN(SELECT DISTINCT a.Cust_id FROM LCustAgreements a
WHERE a.CustType_id=@CustType_id))
and (@AgrNum IS NULL or c.Cust_id IN(SELECT DISTINCT a.Cust_id FROM
LCustAgreements a INNER JOIN LAgreements g
ON a.Lagr_id=g.LAgr_id and g.AgrNum=@AgrNum ))

Так вот в этой и других подобных ситуациях, если параметр @CustType_id или @AgrNum будут равны NULL то запросы :
(SELECT DISTINCT a.Cust_id FROM LCustAgreements a WHERE a.CustType_id=@CustType_id))
и
(SELECT DISTINCT a.Cust_id FROM LCustAgreements a INNER JOIN LAgreements g ON a.Lagr_id=g.LAgr_id and g.AgrNum=@AgrNum ))

выполняться не будут вообще ? или всетаки будут ...
я клоню к тому что можно ставить кучу параметров и сложных подзапросов (по большим таблицам) по такой схеме, при том что в большинстве случаев они не будут использоваться тоесть будет NULL, и производитьельность не пострадает .... ?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Насколько SQL Server "умно" составляет план выполнения SP ? / 1 сообщений из 1, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]