Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость выполнения хранимой процедуры / 2 сообщений из 2, страница 1 из 1
14.02.2007, 15:42
    #34330799
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скорость выполнения хранимой процедуры
Помогите новичку в ADO.NET + C# + Pocket PC
Есть таблица ListGUO
Вызываю хранимую процедуру сервера (MS SQL 2000):
Вот выборка из некого метода, который заполняет таблицу ListGUO

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
.....
DataRow row;
ListGUO.Clear();
SqlDataReader reader = null;
SqlCommand command = new SqlCommand();
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "GetGuoForListTUO";
command.Parameters.Add("@GUO_TABL_NAME", SqlDbType.VarChar,  4000 ).Value = "/KontrAgent/";
reader = command.ExecuteReader();
if (reader == null)
      return false;
while (reader.Read())
{
       row = ListGUO.NewRow();
       row["TUO_ID"] = reader["TUO_ID"];
       row["Tabl_Name"] = reader["TABL_NAME"];
       row["TUO_Name"] = reader["TUO_NAME"];
       row["GUO_ID"] = reader["GUO_ID"];
       row["GUO_KOD"] = reader["GUO_Kod"];
       row["GUO_Name"] = reader["Name"];
       row["GUO_Level"] = reader["GUO_Level"];
       row["Gruppa"] = reader["Gruppa"];
       row["TUO_Picture"] = reader["Picture"];
       row["IND"] =  0 ;
       ListGUO.Rows.Add(row);
}
reader.Close();
return true;
Все работает, но:
1. Время выполнения хранимой процедуры из QA - 0!!! мс, а время выполнения из C# (Pocket PC 2003SE) - от 8000 до 10000 мс (8 - 10 секунд)
2. При каждом вызове хранимой процедуры из C# лезут события об отсутствие ее плана в кэше и, далее, следовательно, перекомпиляции. При вызове из QA этих событий нет!
В чем причина такого падения скорости и почему ТАК катастрофически влияет клиент на скорость выполнения хранимой процедуры на MS SQL Server 2000 ?
С уважением, Алексей
...
Рейтинг: 0 / 0
15.02.2007, 15:10
    #34333692
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скорость выполнения хранимой процедуры
К вышесказанному:
Выполнение хранимой процедуры через ADO.NET на SQL Server идет через RPC, а через QA - через Batch. Может дело в этом ? Можно как-то заставить AD.NET (из С№ + CF Framework) тоже вызывать хранимые процедуры SQL сервера НЕ черз RPC ?

С уважением, Алексей
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость выполнения хранимой процедуры / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]