|
|
|
MSSQL+ASP+ADO
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток... Такой вот вопрос...Есть: 1. IIS + ASP со следующим вызовом: Command = PrepareSPCommand("spUser_BadCategories"); Command.Parameters.Append(Command.CreateParameter("UserName", adWChar, adParamInput, 30, Session("UserName"))); Command.Parameters.Append(Command.CreateParameter("BadCategories", adWChar, adParamInput, 2048, "1 2 3 4 5 ")); Command.Execute(); 2. MSSQL2k + SP со следующим текстом: CREATE PROCEDURE spUser_BadCategories @UserName nvarchar(30), @BadCategories nvarchar(2048) AS DELETE tblBadCategories WHERE UserName = @UserName DECLARE @Pos int, @NewPos int SET @Pos = 1 SET @NewPos = CHARINDEX(' ', @BadCategories, @Pos) WHILE (@NewPos <> 0) AND (@NewPos <> 1) BEGIN INSERT tblBadCategories VALUES(@UserName, SUBSTRING(@BadCategories, @Pos, @NewPos-@Pos)) SET @Pos = @NewPos + 1 SET @NewPos = CHARINDEX(' ', @BadCategories, @Pos) END Строка "Command.Execute()" в ASP выполняется...17 секунд!!! :) Методом научного тыка понял что все дело в параметре SP "@BadCategories nvarchar(2048)". Но почему??? И IIS и MSSQL установлены на одной машине => 2048*2 байт передаваться 17 секунд не могут... Запускаю SP из SQL Query Analyzer - все ОК...Время выполнения - минимально... Так в чем же дело? Кто чем сможет...Пожалуйста...Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2002, 01:13:14 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32036569&tid=1821821]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 322ms |

| 0 / 0 |
