Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> bReader.Close() Почему так долго? С чем это может быть связано? 
:(
    Опции темы
Pankon
Дата 5.9.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: нет
Всего: 5



Такой код:
Код


querySql = "SELECT [User].* FROM  Campaign2User, [User]  " & _
                        "WHERE Campaign2User.UserID = [User].UserID"

1          Dim dbCmd As New System.Data.SqlClient.SqlCommand(querySql, sqlConn)
2          Dim dbReader As System.Data.SqlClient.SqlDataReader
3            dbReader = dbCmd.ExecuteReader(CommandBehavior.SingleResult And CommandBehavior.CloseConnection)
......
4            If usersDbReader IsNot Nothing Then
5                If Not usersDbReader.IsClosed Then
6                    usersDbReader.Close()
7                End If
8                usersDbReader = Nothing
9            End If

Строчки 1,2,3 работают относительно быстро, а вот строка 6 (usersDbReader.Close()) длится до 5-6 минут...... smile
С чем это может быть связано? Принимаются все предположения........
PM MAIL   Вверх
Domestic Cat
Дата 11.9.2006, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 1
Всего: 172



Таблицы Campaign2User и User  - большие?


--------------------

PM   Вверх
Pankon
Дата 11.9.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: нет
Всего: 5



Да 

smile
PM MAIL   Вверх
Domestic Cat
Дата 11.9.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 1
Всего: 172



Запуская такой запрос для датаридера, ты по сути тянешь все данные. Если ты выполнил ExecuteReader, и считал только первый ряд, все равно для закрытия ридера он должен будет освободить pipe, вытаскивая из него все оставшиеся данные. Либо меняй SQL запрос чтобы приходило меньше данных, либо попробуй вызвать Cancel на dbCmd.


--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.