Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Ограничение журнала документа (число прочтений - 5086 )
Igor-bts
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 103
Зарегистрирован: 14. Июля 2006
Ограничение журнала документа
15. Января 2007 :: 18:13
Печать  
есть такое желание:
на таблицу _1SJOURN повесить View, в которой будет условие отбора по общему реквизиту.
Значение этого реквизита для каждого пользователя хранятся вспомогательной таблице
View получается такое:
SELECT     ROW_ID, IDJOURNAL, IDDOC, IDDOCDEF, APPCODE, DATE_TIME_IDDOC, DNPREFIX, DOCNO, CLOSED, ISMARK, ACTCNT, VERSTAMP, RF2244,
                     RF2252, RF1760, RF1612, RF2131, RF1117, RF1811, RF1855, RF1122, RF1423, RF1427, RF2678, RF2688, RF4323, RF4327, SP381, SP384, SP494,
                     SP383
FROM         dbo._1SJOURN_T
WHERE     (SP381 IN
                         (SELECT     GroupIdUsr
                           FROM          dbo.NameUserConn
                           WHERE      (SPID = @@SPID)))

Но есть трудность: при открытии списка журнала, SQL сервер загружается на 100 %.
загружает его команда "sp_cursorfetch ...". Может кто знает как побороть такую трудность?.
Количество записей достаточно большое>100000
  
Наверх
ICQ  
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Ограничение журнала документа
Ответ #1 - 15. Января 2007 :: 19:26
Печать  
а тебе все записи ">100000" нужно одновременно получать?
если этот запрос нужен для "журнала 1с" то , имхо, лучше использовать ТП, там уже всё продумано.
  
Наверх
IP записан
 
toypaul
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 43
Зарегистрирован: 29. Июня 2006
Re: Ограничение журнала документа
Ответ #2 - 16. Января 2007 :: 06:45
Печать  
данный функционал корректнее реализовать с помощью переватов SQL запросов в библиотеке ToySQL
http://1csql.ru/materials/news.html~67b43147-4fc6-796e-80c2-a24a422029d0
  
Наверх
wwwICQ  
IP записан
 
Igor-bts
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 103
Зарегистрирован: 14. Июля 2006
Re: Ограничение журнала документа
Ответ #3 - 16. Января 2007 :: 07:07
Печать  
100000 записей в таблице, а не в выборке. Улыбка

Тормоза слабо зависят от количества отображаемых данных (курсоры порциями отдают данные),
даже если период журнала так что бы попадало 500 записей, тормоза не исчезают.

Эксперименты показали что курсорам не понраву подзапрос в условии Печаль(
так что ToySQL тоже не слишком поможет. Надо менять условия в запросе.

Использовать ТП не хотелось из-за того что много конфиге надо править.
Спасибо за советы.
  
Наверх
ICQ  
IP записан
 
toypaul
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 43
Зарегистрирован: 29. Июня 2006
Re: Ограничение журнала документа
Ответ #4 - 16. Января 2007 :: 07:56
Печать  
ToySQL как раз в этом случае поможет. Поможет избежать использование подзапроса Улыбка
  
Наверх
wwwICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ограничение журнала документа
Ответ #5 - 16. Января 2007 :: 08:02
Печать  
У ТойСкл случайно нет NFR-версии ? Улыбка
чтобы посмотреть, поюзать в полном объеме, но на одном компе?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
toypaul
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 43
Зарегистрирован: 29. Июня 2006
Re: Ограничение журнала документа
Ответ #6 - 16. Января 2007 :: 08:48
Печать  
есть демо-версия. есть версия с привязкой на один комп - 200 руб. вся инфа на сайте есть
  
Наверх
wwwICQ  
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Ограничение журнала документа
Ответ #7 - 16. Января 2007 :: 13:57
Печать  
to Igor-bts. а это полный текст запроса?
в монопольном режиме также отрабатывает?
  
Наверх
IP записан
 
Igor-bts
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 103
Зарегистрирован: 14. Июля 2006
Re: Ограничение журнала документа
Ответ #8 - 16. Января 2007 :: 18:08
Печать  
Да это полный запрос.

Собственно это стандартный запрос 1с для отображения журнала:
exec sp_cursorprepexec @p1 output,@p2 output,N'@P1 varchar(23),@P2 varchar(23)',N'Select * from _1SJOURN(NOLOCK) where SP381 = ''     G   '' and DATE_TIME_IDDOC>=@P1 and DATE_TIME_IDDOC<=@P2 order by DATE_TIME_IDDOC',@p5 output,@p6 output,@p7 output,'20040101     0     0   ','20070116FHML6O     0   '

далее
exec sp_cursorfetch 180153099,1,0,1

Таблица _1SJOURN переименована в _1SJOURN_T и создана View
смотри 1 пост.
В монопольном режиме работает так же медленно.
  
Наверх
ICQ  
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Ограничение журнала документа
Ответ #9 - 18. Января 2007 :: 08:34
Печать  
А если вложенный подзапрос во временную табличку вывалить - не полегчает?
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
Igor-bts
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 103
Зарегистрирован: 14. Июля 2006
Re: Ограничение журнала документа
Ответ #10 - 18. Января 2007 :: 11:44
Печать  
Так и сделал.
Еще пришлось перенастроить индексы к _1SJOURN.
В обычных журналах работает нормально, в полном тоже.
не если журнал общий с использованием граф отбора, то все 1с на мертво загружает сервак.
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ограничение журнала документа
Ответ #11 - 18. Января 2007 :: 12:33
Печать  
Igor-bts писал(а) 18. Января 2007 :: 11:44:
Так и сделал.
Еще пришлось перенастроить индексы к _1SJOURN.
В обычных журналах работает нормально, в полном тоже.
не если журнал общий с использованием граф отбора, то все 1с на мертво загружает сервак.



Как именно переделывал индексы?
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ограничение журнала документа
Ответ #12 - 22. Января 2007 :: 09:16
Печать  
Зачем на Запорожец мотор от BMW?
Это я к тому, зачем делать такой изврат, неужели нельзя использовать ТабличноеПоле, ну в крайнем случае ТаблицаЗначений?
ЗЫ
А чего же вы хотели, ведь 1С выберает записи в курсор, а потом делает обход курсора, а ваш подзапрос явно не входит в планы 1С-го обращения, поэтому вариант один - уйти от курсоров. Но когда вы это сделате - получите новую проблему - актуальность данных в выведеной таблице, но и это можно решить (если знать границы изменения документов). (можно конечно и тригер, но не факт тчто это будет быстрее).
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать