SQL CHARINDEX,SUBSTIRNG,PARSENAME更适合性能

时间:2016-06-08 12:26:17

标签: sql sql-server function charindex

我有一张表EventName, EventDateTime Sample, 25/12/2000 - 行

DateRange

我有另一个表格,其句点集为period_range 1/1/1999,1/1/2001 1/1/1999,24/12,2000 类型

Sample, 1 

所以结果将是

 select  
    @var=count(*)
    --, convert(datetime,PARSENAME(REPLACE(period_range,',','.'),2),103),
    --convert(datetime,PARSENAME(REPLACE(period_range,',','.'),1),103)
from 
    [dbo].[DateRange]
where 
    @date between convert(datetime,PARSENAME(REPLACE(period_range,',','.'),2),103) 
            and convert(datetime,PARSENAME(REPLACE(period_range,',','.'),1),103)

事件日期为25/12/2000的事件样本可在期间数据的一个范围内找到。

为此,我创建了一个函数Ge​​tRange(),如下所示

select eventname,dbo.[getrange](eventdate) exist from [dbo].[Evetns]

函数从事件表中接收日期并将其传递给上面返回的函数和int值,我正在使用下面的函数,


read.csv("//server/directory/file.csv/")

结果集满足要求但需要一些建议才能获得更好的性能。应该使用哪个?

  • 哪个功能对CHARINDEX,SUBSTIRNG或PARSENAME有效?

  • 批量记录是个好主意吗?

任何建议都将受到高度赞赏。

0 个答案:

没有答案