Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема (nolock) надо или нет? (число прочтений - 2049 )
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
(nolock) надо или нет?
10. Июля 2008 :: 14:16
Печать  
Есть два запроса:
Код
Выбрать все
	Текст="
	|select
	|$Товары.IDD as IDD,
	|--Tab.Товар as [Товар $Справочник.ТМЦ],
	|sum(Tab.Остаток) as Остаток,
	|sum(Tab.РасходКво) as Кво,
	|sum(Tab.РасходСумма) as Сумма
	|from
	|(select
	|r.товар as Товар,
	|r.ОстатокТовараОстаток as Остаток,
	|0 РасходКво,
	|0 РасходСумма
	|from $РегистрОстатки.ОстаткиТоваров(:ВыбДата,
	|	  inner join $Справочник.МестаХранения СКЛ (nolock) on СКЛ.id=Склад,
	|     Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+" $ПустойИД and $СКЛ.IDD = :ВыбСклад,
	|     (Склад,Товар,Фирма),
	|     ОстатокТовара
	|) as r
	|
	|union all
	|
	|select
	|o.товар as Товар,
	|0 Остаток,
	|o.РасходКвоОборот as РасходКво,
	|o.РасходСумОборот as РасходСумма
	|from $РегистрОбороты.Обороты(:НачДата,:ОбДата~,,
	|	  inner join $Справочник.МестаХранения СКЛ (nolock) on СКЛ.id=right(ДопИзмерение1,9),
	|     Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+"$ПустойИД,
	|     (ДопИзмерение1,Товар,Фирма),
	|     (РасходКво,РасходСум)) as o
	|) as Tab
	|inner join $Справочник.ТМЦ as Товары (nolock) on Товары.id=Tab.Товар
	|group by
	|$Товары.IDD
	|--Tab.Товар
	|having (sum(Tab.Остаток))<0
	|";

 


и такой
Код
Выбрать все
	Текст="
	|select
	|$Товары.IDD as IDD,
	|--Tab.Товар as [Товар $Справочник.ТМЦ],
	|sum(Tab.Остаток) as Остаток,
	|sum(Tab.РасходКво) as Кво,
	|sum(Tab.РасходСумма) as Сумма
	|from
	|(select
	|r.товар as Товар,
	|r.ОстатокТовараОстаток as Остаток,
	|0 РасходКво,
	|0 РасходСумма
	|from $РегистрОстатки.ОстаткиТоваров(:ВыбДата,
	|	  inner join $Справочник.МестаХранения СКЛ on СКЛ.id=Склад,
	|     Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+" $ПустойИД and $СКЛ.IDD = :ВыбСклад,
	|     (Склад,Товар,Фирма),
	|     ОстатокТовара
	|) as r
	|
	|union all
	|
	|select
	|o.товар as Товар,
	|0 Остаток,
	|o.РасходКвоОборот as РасходКво,
	|o.РасходСумОборот as РасходСумма
	|from $РегистрОбороты.Обороты(:НачДата,:ОбДата~,,
	|	  inner join $Справочник.МестаХранения СКЛ on СКЛ.id=right(ДопИзмерение1,9),
	|     Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+"$ПустойИД,
	|     (ДопИзмерение1,Товар,Фирма),
	|     (РасходКво,РасходСум)) as o
	|) as Tab
	|inner join $Справочник.ТМЦ as Товары on Товары.id=Tab.Товар
	|group by
	|$Товары.IDD
	|--Tab.Товар
	|having (sum(Tab.Остаток))<0
	|";

 


Как видим в одном (nolock) используется в другом нет.
Так вот Если сделать условие на фирму
то запрос ничего не выводит со вторым текстом а первый выводит.
по пустой фирме все нормально что первый что второй.

Что такое получается?
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: (nolock) надо или нет?
Ответ #1 - 11. Июля 2008 :: 02:13
Печать  
Ну так там где (nolock) происходит грязное чтение - т.е. запрос возвращент ещё не зафиксированные данные.
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: (nolock) надо или нет?
Ответ #2 - 11. Июля 2008 :: 03:53
Печать  
В базе кроме меня никого нет.
Еще варианты?
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: (nolock) надо или нет?
Ответ #3 - 11. Июля 2008 :: 06:04
Печать  
Повторяется всегда?
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: (nolock) надо или нет?
Ответ #4 - 11. Июля 2008 :: 19:26
Печать  
Да
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать