Имя: Пароль:
IT
 
Долго выполняться Update в SQL
,
0 megabax
 
25.01.19
16:26
Коллеги, подскажите, плз, почему может долго выполнятся такой вот запрос:
UPDATE dbo.Quotations
SET open = open*1.57535823,
close = close*1.57542158,
high = high*1.58550314,
low = low*1.57174708
WHERE ticker='MPI/BTC' and stock_id = 1 and period='1m' and _datetime >= CAST('20170906 23:00:00' as datetime) and
_datetime < CAST('20171205 11:58:00' as datetime)
ОН выполнялся 20 минут, я не дождался и отменил
хотя вот такой зарос
select * from Quotations
WHERE ticker='MPI/BTC' and stock_id = 1 and period='1m' and _datetime >= CAST('20170906 23:00:00' as datetime) and
_datetime < CAST('20171205 11:58:00' as datetime)
выполняться всего за 3 секунды
?
1 nicxxx
 
25.01.19
16:27
план запроса нужен
2 SUA
 
25.01.19
16:36
3сек чтения тоже кстати немало
может тупо диск виноват?
3 Дык ё
 
25.01.19
16:38
может на блокировке висел?
4 megabax
 
25.01.19
16:42
(2) С дугой стороны, база большая. В таблице, к которой запрос, десятки миллионов записей. В выборке, которую нужно обновить - 127000 примерно строк.
Если я пытаюсь апдейтить только одну строку, тоже долго выполняется (ждал 6 минут и прервал).
5 trad
 
25.01.19
16:44
блокировка
6 trad
 
25.01.19
16:53
select
  procs.spid,
  rtrim(procs.hostname) as Хост,
  object_name(lock.rsc_objid) Объект,
  db_name(lock.rsc_dbid) БД,
  req_mode Режим
from master..syslockinfo lock (nolock)
join master..sysprocesses procs (nolock) on procs.spid = lock.req_spid
where object_name(lock.rsc_objid) is not null
--and lock.rsc_objid = OBJECT_ID('Quotations')