Переключение на Главную Страницу Страницы: 1 2 [3] 4 5  ОтправитьПечать
Очень популярная тема (более 25 ответов) Очень большая выборка (число прочтений - 18861 )
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #30 - 04. Декабря 2007 :: 20:47
Печать  
Uzhast писал(а) 04. Декабря 2007 :: 18:13:
PVR писал(а) 04. Декабря 2007 :: 17:54:
Сначала не понял, что ты советуешь не использовать ТЗ как провайдер для ТП.  СмущённыйМне нужна полная выборка, а не порции. Так что ТЗ, а мечта сразу в ИТ+провайдер для ИТ -вот это был бы класс!  Очень довольный

Попробовал на твоей версии 1С++, тоже ошибка, но распределение памяти разное ?

Я имел в виду попробовать статический провайдер для ТП на твоем запросе. Т.е. взять обработку "Тест провайдера.ert", забить туда запрос и выполнить. Если вылет происходит не из-за OLE DB, а из-за ТЗ, то провайдер будет работать и в ТП ты увидишь результат своего запроса.

Как выполняется запрос через OLE DB? Берется запрос, выполняется, получается результат. Далее OLE DB перекачивает результат в ТЗ. Мне кажется, что ошибка возникает именно на этапе перекачки в ТЗ. Поэтому я и говорю, что можно попробовать статический провайдер для ТП. Он работает так: передает в OLE DB запрос и получает результат и держит его. Далее он просто ходит по этому результату. Без посредников в виде ТЗ. Поэтому если дело в ТЗ, то провайдер должен нормально работать.

Если провайдер будет нормально работать для твоей выборки, то, используя те изменения, которые были внесены в 1С++, можно будет сделать что-то вроде ODBC-рекордсета, но для OLE DB. Это позволит работать с результатом запроса без ТЗ. Что позволит делать выборки бОльшего объема, чем можно сейчас.


Ет я понял, только суть отчета построена на обработке полных данных  Печаль
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Очень большая выборка
Ответ #31 - 05. Декабря 2007 :: 06:01
Печать  
PVR писал(а) 04. Декабря 2007 :: 20:47:
Ет я понял, только суть отчета построена на обработке полных данных  Печаль

Похоже, не понял Печаль Ну и ладно.
  
Наверх
 
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #32 - 05. Декабря 2007 :: 16:31
Печать  
Uzhast писал(а) 05. Декабря 2007 :: 06:01:
PVR писал(а) 04. Декабря 2007 :: 20:47:
Ет я понял, только суть отчета построена на обработке полных данных  Печаль

Похоже, не понял Печаль Ну и ладно.


Мозги были перезагружены, текст перечитан  Смех

Провел тест на "статический провайдер для ТП" все прошло на ура  Очень довольный

Значит ошибка не в OLEDB, а в 1С ТЗ.

Просьба к разработчикам, добавить выгрузку в 1С++ Индексированную таблицу  Подмигивание
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Очень большая выборка
Ответ #33 - 05. Декабря 2007 :: 16:37
Печать  
PVR писал(а) 05. Декабря 2007 :: 16:31:
Провел тест на "статический провайдер для ТП" все прошло на ура  Очень довольный

Значит ошибка не в OLEDB, а в 1С ТЗ.

Понятно. Спасибо за тест. Значит, можно сделать навигатор по результату запроса OLE DB с интерфейсом таблицы значений (т.е. с методами "ВыбратьСтроки", "ПолучитьСтроку" и т.д.). Правда, если все данные выводятся в отчет, то этот навигатор не спасет - будет затык по памяти на выводе в таблицу отчета. Улыбка
  
Наверх
 
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #34 - 05. Декабря 2007 :: 16:53
Печать  
Uzhast писал(а) 05. Декабря 2007 :: 16:37:
PVR писал(а) 05. Декабря 2007 :: 16:31:
Провел тест на "статический провайдер для ТП" все прошло на ура  Очень довольный

Значит ошибка не в OLEDB, а в 1С ТЗ.

Понятно. Спасибо за тест. Значит, можно сделать навигатор по результату запроса OLE DB с интерфейсом таблицы значений (т.е. с методами "ВыбратьСтроки", "ПолучитьСтроку" и т.д.). Правда, если все данные выводятся в отчет, то этот навигатор не спасет - будет затык по памяти на выводе в таблицу отчета. Улыбка


Просьба, сделать выгрузку из рекодсета в ИТ!  Очень довольный
  
Наверх
 
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #35 - 05. Декабря 2007 :: 17:14
Печать  
А также, в связи с глюком ТЗ  Печаль,
просьба, сделать провайдер ИТ для ТП!   Подмигивание
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Очень большая выборка
Ответ #36 - 05. Декабря 2007 :: 17:59
Печать  
Есть отличие ТЗ от ИТ в том, что ТЗ выделяет память по столбцам а ИТ - построчно.
Поэтому как правило ИТ может забить память плотнее, за счет большей фрагментации кучи и меньшего размера блока.
Хорошо это или плохо - другой вопрос.

Но радикально это проблемы не решает, ибо ограничения x32 адресации и фрагментации адресного пространства процесса не перепрыгнуть.
Если сегодня мало 1Гб вирт. памяти, завтра будет мало и 2(3)Гб, а это уже лимит для этих систем.

P.S.
Так что просьба к разработчикам: сделайте наконец 1С x64 Смех
  

De quelle planète es-tu?
Наверх
 
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #37 - 05. Декабря 2007 :: 18:16
Печать  
kms писал(а) 05. Декабря 2007 :: 17:59:
Есть отличие ТЗ от ИТ в том, что ТЗ выделяет память по столбцам а ИТ - построчно.
Поэтому как правило ИТ может забить память плотнее, за счет большей фрагментации кучи и меньшего размера блока.
Хорошо это или плохо - другой вопрос.

Но радикально это проблемы не решает, ибо ограничения x32 адресации и фрагментации адресного пространства процесса не перепрыгнуть.
Если сегодня мало 1Гб вирт. памяти, завтра будет мало и 2(3)Гб, а это уже лимит для этих систем.

P.S.
Так что просьба к разработчикам: сделайте наконец 1С x64 Смех



Для построения сложного отчета постоянно приходится обрабатывать ИТ + каждый раз выгружать в ТЗ  Ужас, сразу ИТ +скорость +экономия памяти  Класс
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Очень большая выборка
Ответ #38 - 05. Декабря 2007 :: 20:03
Печать  
PVR писал(а) 05. Декабря 2007 :: 18:16:
kms писал(а) 05. Декабря 2007 :: 17:59:
Есть отличие ТЗ от ИТ в том, что ТЗ выделяет память по столбцам а ИТ - построчно.
Поэтому как правило ИТ может забить память плотнее, за счет большей фрагментации кучи и меньшего размера блока.
Хорошо это или плохо - другой вопрос.

Но радикально это проблемы не решает, ибо ограничения x32 адресации и фрагментации адресного пространства процесса не перепрыгнуть.
Если сегодня мало 1Гб вирт. памяти, завтра будет мало и 2(3)Гб, а это уже лимит для этих систем.

P.S.
Так что просьба к разработчикам: сделайте наконец 1С x64 Смех



Для построения сложного отчета постоянно приходится обрабатывать ИТ + каждый раз выгружать в ТЗ  Ужас, сразу ИТ +скорость +экономия памяти  Класс



Uzhast писал(а) 05. Декабря 2007 :: 06:01:
Похоже, не понял Печаль Ну и ладно.
  
Наверх
www  
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #39 - 05. Декабря 2007 :: 21:41
Печать  
fez
Прошу прокомментировать, что на этот раз я не понял  Смущённый
  
Наверх
 
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #40 - 05. Декабря 2007 :: 22:26
Печать  
Поясню, для тех, кто не понял меня.

Сделан класс ТПОтчетДерево,
умеет сворачивать, разворачивать разными способами,
сортировать по любой колонке с учетом иерархии.
(Планируется сделать сортировку по нескольким колонкам,
и фильтры по значениям)

Каким еще образом (не используя ИТ) можно, добиться такого функционала
и скорости работы (каждый раз  делать запрос долго по времени)?
  

othet.jpg ( 219 KB | Загрузки )
othet.jpg
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Очень большая выборка
Ответ #41 - 06. Декабря 2007 :: 04:08
Печать  
А разве рекордсет не умеет выгружать данные в ИТ?
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Очень большая выборка
Ответ #42 - 06. Декабря 2007 :: 07:12
Печать  
kms писал(а) 05. Декабря 2007 :: 17:59:
Но радикально это проблемы не решает, ибо ограничения x32 адресации и фрагментации адресного пространства процесса не перепрыгнуть.
Если сегодня мало 1Гб вирт. памяти, завтра будет мало и 2(3)Гб, а это уже лимит для этих систем.
P.S.
Так что просьба к разработчикам: сделайте наконец 1С x64 Смех

Ихмо следущий шаг 
СписокЗначений ---> ТаблицаЗНачений ---> ИндексированнаяТаблицаЗначений
это Таблица_в_бд_sqlite
решает практически все проблемы ( в том числе и выход в  х-64 таблицы ).
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Очень большая выборка
Ответ #43 - 06. Декабря 2007 :: 07:17
Печать  
PVR писал(а) 05. Декабря 2007 :: 22:26:
Поясню, для тех, кто не понял меня.

Сделан класс ТПОтчетДерево,

Каким еще образом (не используя ИТ) можно, добиться такого функционала
и скорости работы (каждый раз  делать запрос долго по времени)?

способ 1  локальные olap кубы ( например как в конфигурации скат отчет АнализДанных ).
способ 2 вместо ИТ использовать sqlite таблицу
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Очень большая выборка
Ответ #44 - 06. Декабря 2007 :: 07:21
Печать  
PVR писал(а) 05. Декабря 2007 :: 21:41:
fez
Прошу прокомментировать, что на этот раз я не понял  Смущённый


Комментирую.
Проблема с 1С-вой таблицей значений начинается тогда, когда этот объект занимает в памяти 1-2-3 ГБ.
С 1С++-вой ИТЗ при таких же условиях будут возникать ровно такие же проблемы.

Кто раньше в твоих конкретных условиях достигнет этого предела - не ясно. У 1С-вой ТЗ в общем случае больше возможностей по оптимизации памяти (колонки можно типизировать, это сильно помогает).
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 5 
ОтправитьПечать