"Мерзнет" запрос

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
zloader
Сообщения: 4
Зарегистрирован: 08 сен 2011, 10:40

"Мерзнет" запрос

Сообщение zloader » 08 сен 2011, 10:48

Столкнулся с проблемой, есть вот такой код:

Код: Выделить всё

DataSource.Open();
IDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    Debug.Write("Read...");
}
reader.Close();
DataSource.Close();
При разработке все тестится на копии БД. Код отрабатывает, все в порядке.
При изменении строки соединения на рабочую БД, запрос подвисает. Тестовая и рабочая базы находятся на одном физическом сервере.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: "Мерзнет" запрос

Сообщение Dimitry Sibiryakov » 08 сен 2011, 15:46

А какой запрос-то?..

zloader
Сообщения: 4
Зарегистрирован: 08 сен 2011, 10:40

Re: "Мерзнет" запрос

Сообщение zloader » 08 сен 2011, 16:06

Да любой в принципе...
Ну вот например такой, вроде бы ничего сверхестественного:

Код: Выделить всё

SELECT
  INVOICES.DEPNO,
  INVOICES.INVN,
  INVOICES.INVDATE,
  COUNT(ORDSPEC.ARTNO)
FROM INVOICES
INNER JOIN ORDSPEC ON
  (ORDSPEC.INVNO = INVOICES.INVNO) AND
  (ORDSPEC.DEPNO = INVOICES.DEPNO)
WHERE
  (INVOICES.INVDATE > CURRENT_DATE - 14) AND
  (ORDSPEC.ARTNO <= 0)
GROUP BY
  INVOICES.DEPNO,
  INVOICES.INVN,
  INVOICES.INVDATE

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: "Мерзнет" запрос

Сообщение Dimitry Sibiryakov » 09 сен 2011, 14:40

Какой драйвер доступа и уровень изоляции транзакции?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: "Мерзнет" запрос

Сообщение hvlad » 09 сен 2011, 15:22

Планы сравни

zloader
Сообщения: 4
Зарегистрирован: 08 сен 2011, 10:40

Re: "Мерзнет" запрос

Сообщение zloader » 09 сен 2011, 16:09

Dimitry Sibiryakov писал(а):Какой драйвер доступа и уровень изоляции транзакции?
.NET Data provider 2.6.0
IsolationLevel=ReadCommitted

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: "Мерзнет" запрос

Сообщение kdv » 09 сен 2011, 16:16

.NET Data provider 2.6.0
IsolationLevel=ReadCommitted
поздравляю. поменяй на ReadUncommitted. Почему, написано тут:
http://www.sql.ru/forum/actualutils.asp ... g=11194003

p.s. надеюсь, понятно, что дело не в запросе.

zloader
Сообщения: 4
Зарегистрирован: 08 сен 2011, 10:40

Re: "Мерзнет" запрос

Сообщение zloader » 09 сен 2011, 16:53

kdv писал(а):
.NET Data provider 2.6.0
IsolationLevel=ReadCommitted
поздравляю. поменяй на ReadUncommitted. Почему, написано тут:
http://www.sql.ru/forum/actualutils.asp ... g=11194003

p.s. надеюсь, понятно, что дело не в запросе.
Помогло, спасибо.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: "Мерзнет" запрос

Сообщение Dimitry Sibiryakov » 10 сен 2011, 14:54

kdv писал(а):поменяй на ReadUncommitted.
Лучше бы всё же на Repeatable Read или Snapshot. Ни к чему подкладывать себе грабли замедленного действия...

Ответить