Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Помогите с оптимизацией! Слишком долго работает простая функция.

$
0
0
1 млн записей
Функция:
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER   FUNCTION [dbo].[fArticle](@Article varchar (30))
RETURNS varchar (30) 
AS
BEGIN
 
return (upper(replace(replace(replace(replace(replace(replace(replace(@Article,' ',''),'.',''),'-',''),' ',''),'/',''),'`',''), '''', '')))
   
END

Запрос Выполняется 22 сек
select distinct  артикул  from ##price group by  артикул  having COUNT(dbo.farticle(артикул))>1  


Запрос Выполняется 1 сек
select distinct  артикул  from ##price group by  артикул  having COUNT(upper(replace(replace(replace(replace(replace(replace(replace(артикул,' ',''),'.',''),'-',''),' ',''),'/',''),'`',''), '''', '')))>1  


Как сделать чтобы функция работала так же быстро?

Viewing all articles
Browse latest Browse all 7251