![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Вы дергаете в IBQuery4 и IBQuery5 в цикле небольшие кусочки информации и небольшое к-во полей. Если там не миллионы записей и нет возможности параметризировать выгрузку сразу всей нужной информации - выгрузите всю. А в программе сам расчет. Если расчет сложно так организовать, то можно ClientDataSet-ы прицепить к кверикам, в них создать необходимое к-во индексов, что значительно облегчит вашу участь и ускорит процесс расчета.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
![]()
Там не миллионы конечно, но под 200к будет. Попробую сделать, как вы написали.
|
![]() |
![]() |
![]() |
#13 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
![]()
IBQuery4:
Код:
Код:
Еще одна сложность заключается в том, что мне для расчета одновременно необходимы данные из xml (MATCOUNT) и БД. Последний раз редактировалось chui; 31.10.2011 в 11:40. |
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
1. например получить один раз
Код:
И в цикле не дергать БД много раз. А использовать внутренний поиск Locate.или фильтрацию. 2 либо отравить на сервер что-то вроде Код:
Код:
sum(r4.cost/r4.count) для IBQuerty4 для тех где count>0 и это (count>0) проверятся по вашему коду в IBQuery2. sum(r5.count) для IBQuery5. а что в итгоге ?
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 31.10.2011 в 12:52. |
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
![]()
В IBQuery2 получаем временную таблицу (select * from MemTemp). В ней содержатся данные из xml.
Код:
Код:
Последний раз редактировалось chui; 31.10.2011 в 13:27. |
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Дополню evg_m.
Для каждой записи IBQuery2 в таблицу базы временную или постоянную (если постоянная предварительно удалить все записи) загоняем Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 31.10.2011 в 15:03. |
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
![]()
Аватар, спасибо. Попробую.
|
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
весь расчет в одном запросе Как прийти к такому коду написано в комментариях.(---- )
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 01.11.2011 в 11:25. |
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
![]()
evg_m, спасибо. Только меня смущает строчка
Код:
И templ это временная таблица? Последний раз редактировалось chui; 01.11.2011 в 13:07. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос с параметрами | us4us | SQL, базы данных | 1 | 20.05.2011 05:53 |
программа с типизированными параметрами-значениями и параметрами-переменными | Kira09 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 20.12.2010 22:23 |
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) | Машуля | SQL, базы данных | 4 | 06.05.2010 21:09 |
Запрос с изменяющимися параметрами | GenniY | БД в Delphi | 10 | 18.03.2010 14:41 |