|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
Татьяна_sinв Gride всего 3000 записей договоров (их надо видеть), а поставок по всем этим договорам где-то 15 000 и оплат примерно столько И все они вытягиваются во views в форме. Да ещё справочник куча всяких дополнительных views. Форма открывается медленно Вот и решила что-либо переделать надо Я не знаю, как именно вы организовали процесс загрузки данных в форме, но обычно данные загружаются "по требованию". Например, классическая форма документа, имеющего шапку и строки. На форме 2 Grid. Первый отображает шапки, второй - строки. Строки шапок надо загрузить сразу при открытии формы. Насклько я понимаю, это ваши 3 тысячи договоров. А вот строки надо загружать не все. А только те, которые соответствуют ОДНОМУ (текущему) документу. Это можно реализовать при помощи параметризированного Remote View. Перемещаетесь на другую строку договора - новый запрос к серверу за новой порцией строк. Для Remote View - это просто изменение значения параметра и Requery(). Поскольку строк у одного договора обычно не много, то такой запрос выполняется очень быстро. Незаметно для пользователя. Собственно, технология доступа особой роли не играет. Разница, конечно, будет. Но не настолько значительная, чтобы было о чем говорить. Принципиально важным является объем информации (в байтах, а вовсе не в строках), который вы хотите одномоментно скачать с сервера. Поэтому, если вы хотите ускорить время открытия формы вам следует озаботится сокращением объема одномоментно скачиваемой информации. Т.е. изменить сам подход (иделогию) к работе с данными. Один из вариантов решения я уже описал - скачивать информацию "по требованию". В описанной схеме - это наиболее простое решение. Но есть и другие способы решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:26 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
авторусловие одно- сначала года,и их уже на сегодня 3000 кто сделал такую постановку? а на форме не может быть контрола - формирователя условия запроса? с 1.апр.2009 по 3.апр.2009 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:26 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
спасибо за советы-уже появились мысли А чем лучше тянуть? или не имеет значения ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:30 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
авторА как её лучше осуществить? так, вначале пробуйте причесывать то, что есть: пишу запросы и обманываю юзверов так, чтобы инф-и с сервера на локал поступало всегда мало. затем нужно почитать книжки ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:31 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
авторА чем лучше тянуть? или не имеет значения если желаете себя разгрузить, т.е. писать минимальное кол-во кода, то для взаим-я с сервером оч. выгодно использовать курсорадаптер. пример положил, там срипты на создание табличек, поиграйтесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:32 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
Спасибо Может ещё подскажите какие-нибудь ТОЛКОВЫЕ книжки ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:42 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
пока любую, в названии которой есть слова "Разработка клиент-серверных приложений ..." если найдете, то "Разработка клиент-серверных приложений с исп-ем классов КАД в Фокспро", шучу попробуйте поискать материал по теме в интернете. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:48 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
http://akop.ru/personal/1856 авторЗа шестизначную сумму был приобретен крутой Sun-овский сервер, и комплект средств разработки Oracle. Задача была довольно быстро переписана на Oracle, и запущена... После чего выяснилось, что она не тянет больше 5 пользователей, да и тех с трудом. Длительные разбирательства показали, что новая программа, воспроизводящая старую, "клипперную" идеологию, начинала с того, что открывала все ей нужные таблицы с помощью приведенных выше запросов. так, что проблема не в ОЗУ сервера, к примеру она супер-пупер контора сейчас прикупила машинку, для питания которой нет мощностей на Тверской ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2009, 15:52 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
Татьяна_sin, Можно я маленько своим поделюсь. Вот у меня журнал проводок каждый месяц добивается 50000 проводок. При этом, ширина записи получается достаточно большой. То-есть, вместе с проводкой может одновременно быть подгружено 8 аналитик (80 байт наименование и 4 байта идентификатор). Замечено, что притягивать на локаль журнал проводок по-запросу получается невыгодно. Если пользователь не заводит данные, а что-то ищет или обсчитывает, фильтры меняются очень активно и задержка даже в 2 секунды начинает пользователей раздражать. Поэтому, было принято решение, что дешевле притянуть сразу весь журнал за период, потратить время на его индексацию, зато потом очень быстро его фильтровать и сортировать. И действительно, пользователи редко переключают период. Бывает, запрос к журналу идет один раз, а потом в течение часа его ковыряют. Единственная фенька всего этого процесса заключается в том, что журнал проводок тянет на локаль только коды аналитического учета. А вот справочники аналитического учета подгружаются отдельно и только по необходимости. Покажу на примере, в чем разница. Предположим, у нас есть счет 60, который в качестве аналитики содержит контрагента. Если мы притащим сюда 50000 записей, в каждой из которых будет код и наименование контрагента, то получится 80 (байт/имя) * 50000 (записей) + 4 (байта на код) * 50000 (записей) = 4200000 байт. А если учесть, что одновременно мы работаем максимум с с сотней контрагентов, то притянув справочник отдельно получим (80 + 4) (байт на контрагента) * 100 (контрагентов) + 4 (байта на код) * 50000 (записей) = 208400 байт. Правда разительная разница? А если пользователю не нужен справочник контрагентов (пользователь не работает с 60-ми счетами), то пользователь может просто отключить показ справочника и тогда он не будет загружен. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 05:57 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
Kruchinin PahanПравда разительная разница? А если пользователю не нужен справочник контрагентов (пользователь не работает с 60-ми счетами), то пользователь может просто отключить показ справочника и тогда он не будет загружен. А если учесть что один бухгалтер редко работает со всеми счетами предприятия (если только это не фирмочка с одним бухом и двумя менеджерами) а только а пределах своей компетенции, то тянуть весь журнал за период несколько расточительно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 09:15 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
BurnKruchinin PahanПравда разительная разница? А если пользователю не нужен справочник контрагентов (пользователь не работает с 60-ми счетами), то пользователь может просто отключить показ справочника и тогда он не будет загружен. А если учесть что один бухгалтер редко работает со всеми счетами предприятия (если только это не фирмочка с одним бухом и двумя менеджерами) а только а пределах своей компетенции, то тянуть весь журнал за период несколько расточительно Никогда не угадаешь зарание, что необходимо, например, бухгалтеру материальной группы. Это счета учета материалов - 10, 15, счета передачи в производство - 20, 23, 25. Или в непромсферу - 26, 29, 44. Так же это может быть учет задолженности контрагентов - 60, 76. А еще и налоги 19, 68, 76. А еще и выручка/прибыль - 90, 91. А еще мы можем что-нибудь построить из наших материалов - 08. А можем и продать - 41. А еще можем часть материалов учитывать забалансом. А еще нам интересно, как мы платили: 50, 51, 52, 55 (во изврат!). А иногда и взаимозачеты 62. А какая-то сволочь гайку купила за свои бабки - 71. Нет, существуют и другие режимы, которые позволяют выйти на префильтрованный журнал проводок. Например из оборотных ведомостей, анализов, карточек. Но если бухгалтер говорит, что ему нужен журнал проводок, значит, ему нужен именно журнал проводок, а что он с ним будет дальше делать, это уже его дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 09:44 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
BurnKruchinin PahanПравда разительная разница? А если пользователю не нужен справочник контрагентов (пользователь не работает с 60-ми счетами), то пользователь может просто отключить показ справочника и тогда он не будет загружен. А если учесть что один бухгалтер редко работает со всеми счетами предприятия (если только это не фирмочка с одним бухом и двумя менеджерами) а только а пределах своей компетенции, то тянуть весь журнал за период несколько расточительно Кроме простых бухгалтеров есть еще и аналитики, аудиторы, гл. бухгалтер и пр. Им, как правило, подавай все счета.. Я, например, обороты считаю на сервере. А вот журнал подгружается в момент когда происходит переходит с последнего уровня синтетики (или аналитики если она есть) до проводок. В этот момент и читаются проводки (журнал) по выбранному основному счету. Открытие журнала тоже происходит только по основному счету. Активно используется при этом возможности самого VFP для кеширования проводок: Если проводки уже были считаны ранее, то информация об этом хранится в специальной таблице и второй раз они с сервера не тянутся. Вообщем, все зависит от программиста. Такой инструмент как VFP позволяет распределять усилия про обработке данных между сервером и клиентом. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2009, 13:20 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
2 Татьяна_sin как у Вас успехи? будем погружаться в тему курсорадаптеров? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 14:49 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
пример каскадов КАД + бекап БД для MS SQL 2005 1. восстановить БД из бекапа test.bakup 2. настроить строку соединения в startapp.prg поиграйтесь, попытайтесь понять ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 17:25 |
|
как быстрее будет работать запрос?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2009, 17:25 |
|
|
start [/forum/topic.php?fid=41&msg=35934972&tid=1586552]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 347ms |
total: | 484ms |
0 / 0 |