Страница 1 из 1
"Мерзнет" запрос
Добавлено: 08 сен 2011, 10:48
zloader
Столкнулся с проблемой, есть вот такой код:
Код: Выделить всё
DataSource.Open();
IDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Debug.Write("Read...");
}
reader.Close();
DataSource.Close();
При разработке все тестится на копии БД. Код отрабатывает, все в порядке.
При изменении строки соединения на рабочую БД, запрос подвисает. Тестовая и рабочая базы находятся на одном физическом сервере.
Re: "Мерзнет" запрос
Добавлено: 08 сен 2011, 15:46
Dimitry Sibiryakov
А какой запрос-то?..
Re: "Мерзнет" запрос
Добавлено: 08 сен 2011, 16:06
zloader
Да любой в принципе...
Ну вот например такой, вроде бы ничего сверхестественного:
Код: Выделить всё
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
Re: "Мерзнет" запрос
Добавлено: 09 сен 2011, 14:40
Dimitry Sibiryakov
Какой драйвер доступа и уровень изоляции транзакции?
Re: "Мерзнет" запрос
Добавлено: 09 сен 2011, 15:22
hvlad
Планы сравни
Re: "Мерзнет" запрос
Добавлено: 09 сен 2011, 16:09
zloader
Dimitry Sibiryakov писал(а):Какой драйвер доступа и уровень изоляции транзакции?
.NET Data provider 2.6.0
IsolationLevel=ReadCommitted
Re: "Мерзнет" запрос
Добавлено: 09 сен 2011, 16:16
kdv
.NET Data provider 2.6.0
IsolationLevel=ReadCommitted
поздравляю. поменяй на ReadUncommitted. Почему, написано тут:
http://www.sql.ru/forum/actualutils.asp ... g=11194003
p.s. надеюсь, понятно, что дело не в запросе.
Re: "Мерзнет" запрос
Добавлено: 09 сен 2011, 16:53
zloader
Re: "Мерзнет" запрос
Добавлено: 10 сен 2011, 14:54
Dimitry Sibiryakov
kdv писал(а):поменяй на ReadUncommitted.
Лучше бы всё же на Repeatable Read или Snapshot. Ни к чему подкладывать себе грабли замедленного действия...