|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.10.2011, 18:53 | #11 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вы дергаете в IBQuery4 и IBQuery5 в цикле небольшие кусочки информации и небольшое к-во полей. Если там не миллионы записей и нет возможности параметризировать выгрузку сразу всей нужной информации - выгрузите всю. А в программе сам расчет. Если расчет сложно так организовать, то можно ClientDataSet-ы прицепить к кверикам, в них создать необходимое к-во индексов, что значительно облегчит вашу участь и ускорит процесс расчета.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
27.10.2011, 21:18 | #12 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
Там не миллионы конечно, но под 200к будет. Попробую сделать, как вы написали.
|
29.10.2011, 13:44 | #13 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
31.10.2011, 10:01 | #14 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
IBQuery4:
Код:
Код:
Еще одна сложность заключается в том, что мне для расчета одновременно необходимы данные из xml (MATCOUNT) и БД. Последний раз редактировалось chui; 31.10.2011 в 11:40. |
31.10.2011, 12:41 | #15 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
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. |
31.10.2011, 13:06 | #16 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
В IBQuery2 получаем временную таблицу (select * from MemTemp). В ней содержатся данные из xml.
Код:
Код:
Последний раз редактировалось chui; 31.10.2011 в 13:27. |
31.10.2011, 14:18 | #17 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Дополню evg_m.
Для каждой записи IBQuery2 в таблицу базы временную или постоянную (если постоянная предварительно удалить все записи) загоняем Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 31.10.2011 в 15:03. |
31.10.2011, 18:10 | #18 |
Пользователь
Регистрация: 16.10.2011
Сообщений: 48
|
Аватар, спасибо. Попробую.
|
01.11.2011, 11:22 | #19 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
весь расчет в одном запросе Как прийти к такому коду написано в комментариях.(---- )
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 01.11.2011 в 11:25. |
01.11.2011, 12:04 | #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 |