Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

leo


Молчун

Зарегистрирован:
29 September 2002
Сообщения: 18
Примеры кода: 0
 

RE[3]: JOIN vs UDF

10 November 2002 20:11  



Как лучше сделать select ?

SELECT	[HEARING_MUF_ID],
	MUF_FNAME+' '+MUF_LNAME,
FROM [dbo].[HEARINGS]
left join MUF on HEARING_MUF_ID=MUF_ID
WHERE
	[HEARING_KM_ID] = @HEARING_KM_ID
and     [HEARING_DATE] <= @newdate

или с UDF
SELECT
	[HEARING_MUF_ID],
	dbo.uf_MUF_GetName([HEARING_MUF_ID]) as MUF_NAME,
FROM [dbo].[HEARINGS]
WHERE
	[HEARING_KM_ID] = @HEARING_KM_ID
and     [HEARING_DATE] <= @newdate

ALTER    Function uf_MUF_GetName(@MUF_ID as int )
Returns varchar(50)
as
begin
declare @MUFNEName varchar(50)
select @MUFNEName=MUF_FNAME + ' ' + MUF_LNAME
from  dbo.muf
where MUF_ID=@MUF_ID
return @MUFNEName


Есть очень много справочников,стоит ли использовать UDF ?

Не-а, не стОит.

А как все это в цифрах посмотреть что не стОит?
а то уж очень не хочеться делать по 35 join оф
Просто я думал что UDF запускаются только на выбранные по WHERE записи
а join на все?


Можно и не на все. В join condition можно указывать не только условие совпадения значений столбцов, по которому происходит объединение, но и другие условия.
BOL: Although join conditions usually have equality comparisons (=), other comparison or relational operators can be specified, as can other predicates.
Т.е. можно написать что-то вроде:
select table1.field1, table2.fieldN
from table1 inner join table2
on table1.joinField = table2.joinField
and table2.filterField = @myFilterValue

Удачи!
leo
Наверх
  



ADO.NET

 JOIN vs UDFolegkud  10 November 2002 16:34
 RE: JOIN vs UDFDimon aka Manowar  10 November 2002 17:01
 RE[2]: JOIN vs UDFolegkud  10 November 2002 19:06
 RE[3]: JOIN vs UDFleo  10 November 2002 20:11
 RE[3]: JOIN vs UDFGreen Lord  10 November 2002 19:22
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта