Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
"Замирание" программы при работе с Cache через Factory.
|
|||
|---|---|---|---|
|
#18+
Имеем программу, в которой на фоновом потоке периодически выполняются SQL запросы к БД. И вот что заметил, в момент первого исполнения метода Next после Open, если SQL запрос достаточно серьезный (удалось построить запрос, выполнявшийся больше пяти минут), программа останавливается, в том числе главный поток, на котором графический интерфейс работает. Сие весьма неприятно. Что посоветуете? На данный момент есть три идеи. 1. Сделать не фоновый поток, а независимое приложение, которое будет делать запросы и передавать результаты в основную программу. 2. Использовать какой-нибудь другой метод доступа, пока непонятно какой. 3. Как-то что-то настроить, чтобы Factory не чудил (представляется маловероятным). Виктор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 18:57 |
|
||
|
"Замирание" программы при работе с Cache через Factory.
|
|||
|---|---|---|---|
|
#18+
Какая у Вас версия Cache'? Какое средство разработки (Delphi, .Net, ...)? Общались с Вашим техническим консультантом InterSystems? Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 23:16 |
|
||
|
"Замирание" программы при работе с Cache через Factory.
|
|||
|---|---|---|---|
|
#18+
To Hisbreht Victor Вы используете один Factory в основном и фоновом потоках или в каждом свой? Сейчас есть новая библиотека CacheActiveX.dll. Лучше использовать её вместо старой CacheObject.dll. Hisbreht Victorудалось построить запрос, выполнявшийся больше пяти минут Долго. Сколько возвращается данных: тысячи, миллионы? Если ускорить запрос всё же не получается, можно вызывать запрос асинхронно, воспользовавшись, например, классом %ScrollableResultSet и методом SetOutput у Factory. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2008, 10:38 |
|
||
|
"Замирание" программы при работе с Cache через Factory.
|
|||
|---|---|---|---|
|
#18+
Проблема решилась странным способом. Сначала было так. Несколько тредов, общающихся с БД, у каждого свой объект Factory. Все операции с объектом от создания до изничтожения производились на своем персональном треде этого объекта. Изменение было внесено следующее, с моей точки зрения неадекватное результату и здравому смыслу: Теперь все объекты создаются на основном треде, DynamicSQL и Execute вызываются там же, а все Next и завершение - уже на треде. Проблема тут же исчезла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2008, 19:03 |
|
||
|
"Замирание" программы при работе с Cache через Factory.
|
|||
|---|---|---|---|
|
#18+
servitTo Hisbreht Victor Сейчас есть новая библиотека CacheActiveX.dll. Лучше использовать её вместо старой CacheObject.dll.А это как? Там новый интерфейс или просто новая версия библиотеки? servit Hisbreht Victorудалось построить запрос, выполнявшийся больше пяти минут Долго. Сколько возвращается данных: тысячи, миллионы? Если ускорить запрос всё же не получаетсяЗаписей не так уж и много, две связанные таблички под две сотни тысяч записей. Просто запрос был сконструирован совершенно неправильно. После переконструирования время выполнения уменьшилось до нескольких секунд. Пять минут, кстати, субъективное время, с секундомером не засекал, так что реальное может оказаться несколько меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2008, 19:21 |
|
||
|
"Замирание" программы при работе с Cache через Factory.
|
|||
|---|---|---|---|
|
#18+
Hisbreht VictorА это как? Там новый интерфейс или просто новая версия библиотеки? Improved ActiveX Bindings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2008, 09:48 |
|
||
|
"Замирание" программы при работе с Cache через Factory.
|
|||
|---|---|---|---|
|
#18+
servit Hisbreht VictorА это как? Там новый интерфейс или просто новая версия библиотеки? Improved ActiveX Bindings Попробовал простой заменой. Пока получил только исключения при попытке выполнить SQL запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2008, 20:42 |
|
||
|
|

start [/forum/topic.php?fid=39&fpage=70&tid=1558851]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 330ms |

| 0 / 0 |
