Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Настройки при работе с SqlDataAdapter  [new]
R.Rollen
Member

Откуда:
Сообщений: 21
Здравствуйте знатоки БазДанных.

Выполнение хранимой процедуры в MS SQL Server происходит очень быстро ( менее 1 секунды).
Но при обращении к БД через Managment Studio тот же самый запрос на выборку на строке
_da.Fill(new DataTable()) тратит очень много времени (секунд 15-20).

Помогите оптимизировать его и ускорить выгрузку (при данной выборке интересны только данные ячеек, без ключей, названия столбцов и прочего; выгружается один столбец)

Заранее спасибо
15 сен 14, 18:23    [16577909]     Ответить | Цитировать Сообщить модератору
 Re: Настройки при работе с SqlDataAdapter  [new]
R.Rollen
Member

Откуда:
Сообщений: 21
На всякий пожарный, будучи не особо разбирающимся, дополню вопрос
- процедурой в sql server
USE [DBDeals]
GO

DECLARE @return_value int

EXEC @return_value = [dbo].[GetIsinAll]
@SessionStart = 20140101,
@SessionEnd = 20140915,
@GWAccountId = N'Cqg-DAK0397'

SELECT 'Return Value' = @return_value

GO

которая выполняется быстро как хранимая процедура

- кодом в с#

_getBaseIsin = new SqlCommand("dbo.GetIsinAll", _sqlConn) { CommandType = CommandType.StoredProcedure };
_getBaseIsin.Parameters.Add(new SqlParameter("@SessionStart", SqlDbType.Int, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Default, null));
_getBaseIsin.Parameters.Add(new SqlParameter("@SessionEnd", SqlDbType.Int, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Default, null));
_getBaseIsin.Parameters.Add(new SqlParameter("@GWAccountId", SqlDbType.Text, 0, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Default, null));
_getBaseIsin.UpdatedRowSource = UpdateRowSource.Both;

var temp = new DataTable();
_getBaseIsin.Parameters["@SessionStart"].Value = start; _getBaseIsin.Parameters["@SessionEnd"].Value = end; _getBaseIsin.Parameters["@GWAccountId"].Value = exch;
_da.SelectCommand = _getBaseIsin;
_da.Fill(temp);

скорость выполнения которого оставляет желать лучшего
15 сен 14, 19:03    [16578022]     Ответить | Цитировать Сообщить модератору
 Re: Настройки при работе с SqlDataAdapter  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Смотрите в профайлере, какой запрос уходит на сервер, и сколько он там выполняется.
15 сен 14, 19:09    [16578041]     Ответить | Цитировать Сообщить модератору
 Re: Настройки при работе с SqlDataAdapter  [new]
R.Rollen
Member

Откуда:
Сообщений: 21
Гавриленко Сергей Алексеевич, не хотелось бы показаться совсем уж профаном в данной теме, но не могли бы Вы мне объяснить каким образом это смотреть, доступ как к серверу, так и к клиенту SQL у меня есть.

заранее спасибо
15 сен 14, 19:17    [16578058]     Ответить | Цитировать Сообщить модератору
 Re: Настройки при работе с SqlDataAdapter  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
R.Rollen
Гавриленко Сергей Алексеевич, не хотелось бы показаться совсем уж профаном в данной теме, но не могли бы Вы мне объяснить каким образом это смотреть, доступ как к серверу, так и к клиенту SQL у меня есть.

заранее спасибо
Есть такая утилита - SQL Server Profiler, с довольно понятным графическим интерфейсом. Входит в состав нормальных версий MSSQL. Показывает, в т.ч. текст запросов, которые ваше приложение присылает серверу, а так же длительность их выполнения сервером.
15 сен 14, 19:19    [16578062]     Ответить | Цитировать Сообщить модератору
 Re: Настройки при работе с SqlDataAdapter  [new]
_djХомяГ
Guest
Недавно возможные причины обсуждались в ветке

Время выполнения SELECT в хранимой процедуре через EXEC и как элементарный запрос
15 сен 14, 21:54    [16578456]     Ответить | Цитировать Сообщить модератору
 Re: Настройки при работе с SqlDataAdapter  [new]
R.Rollen
Member

Откуда:
Сообщений: 21
_djХомяГ,
ооо, спасибо, вот это то что нужно!
привелико благодарен!
16 сен 14, 13:02    [16580532]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить