powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как быстрее будет работать запрос?
16 сообщений из 41, страница 2 из 2
как быстрее будет работать запрос?
    #35933691
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна_sinв Gride всего 3000 записей договоров (их надо видеть), а поставок по всем этим договорам где-то 15 000 и
оплат примерно столько И все они вытягиваются во views в форме. Да ещё справочник куча всяких дополнительных views. Форма открывается медленно
Вот и решила что-либо переделать надо
Я не знаю, как именно вы организовали процесс загрузки данных в форме, но обычно данные загружаются "по требованию".

Например, классическая форма документа, имеющего шапку и строки. На форме 2 Grid. Первый отображает шапки, второй - строки.

Строки шапок надо загрузить сразу при открытии формы. Насклько я понимаю, это ваши 3 тысячи договоров. А вот строки надо загружать не все. А только те, которые соответствуют ОДНОМУ (текущему) документу. Это можно реализовать при помощи параметризированного Remote View.

Перемещаетесь на другую строку договора - новый запрос к серверу за новой порцией строк. Для Remote View - это просто изменение значения параметра и Requery(). Поскольку строк у одного договора обычно не много, то такой запрос выполняется очень быстро. Незаметно для пользователя.

Собственно, технология доступа особой роли не играет. Разница, конечно, будет. Но не настолько значительная, чтобы было о чем говорить. Принципиально важным является объем информации (в байтах, а вовсе не в строках), который вы хотите одномоментно скачать с сервера.

Поэтому, если вы хотите ускорить время открытия формы вам следует озаботится сокращением объема одномоментно скачиваемой информации. Т.е. изменить сам подход (иделогию) к работе с данными.

Один из вариантов решения я уже описал - скачивать информацию "по требованию". В описанной схеме - это наиболее простое решение. Но есть и другие способы решения.
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35933696
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторусловие одно- сначала года,и их уже на сегодня 3000

кто сделал такую постановку?
а на форме не может быть
контрола - формирователя условия запроса?

с 1.апр.2009 по 3.апр.2009 ?
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35933718
Татьяна_sin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за советы-уже появились мысли
А чем лучше тянуть? или не имеет значения
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35933720
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА как её лучше осуществить?

так, вначале пробуйте причесывать то, что есть:
пишу запросы и обманываю юзверов так,
чтобы инф-и с сервера на локал поступало всегда мало.

затем нужно почитать книжки
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35933729
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА чем лучше тянуть? или не имеет значения

если желаете себя разгрузить, т.е. писать
минимальное кол-во кода,
то для взаим-я с сервером оч. выгодно использовать
курсорадаптер.

пример положил, там срипты на создание табличек,
поиграйтесь.
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35933788
Татьяна_sin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо
Может ещё подскажите какие-нибудь ТОЛКОВЫЕ книжки
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35933831
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока любую, в названии которой
есть слова "Разработка клиент-серверных приложений ..."

если найдете, то
"Разработка клиент-серверных приложений с исп-ем классов КАД в Фокспро", шучу

попробуйте поискать материал по теме в интернете.
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35933849
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://akop.ru/personal/1856

авторЗа шестизначную сумму был приобретен крутой Sun-овский сервер, и комплект средств разработки Oracle. Задача была довольно быстро переписана на Oracle, и запущена... После чего выяснилось, что она не тянет больше 5 пользователей, да и тех с трудом. Длительные разбирательства показали, что новая программа, воспроизводящая старую, "клипперную" идеологию, начинала с того, что открывала все ей нужные таблицы с помощью приведенных выше запросов.

так, что проблема не в ОЗУ сервера,
к примеру она супер-пупер контора сейчас
прикупила машинку, для питания которой нет мощностей на Тверской
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35934865
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Татьяна_sin,

Можно я маленько своим поделюсь. Вот у меня журнал проводок каждый месяц добивается 50000 проводок. При этом, ширина записи получается достаточно большой. То-есть, вместе с проводкой может одновременно быть подгружено 8 аналитик (80 байт наименование и 4 байта идентификатор). Замечено, что притягивать на локаль журнал проводок по-запросу получается невыгодно. Если пользователь не заводит данные, а что-то ищет или обсчитывает, фильтры меняются очень активно и задержка даже в 2 секунды начинает пользователей раздражать. Поэтому, было принято решение, что дешевле притянуть сразу весь журнал за период, потратить время на его индексацию, зато потом очень быстро его фильтровать и сортировать. И действительно, пользователи редко переключают период. Бывает, запрос к журналу идет один раз, а потом в течение часа его ковыряют.

Единственная фенька всего этого процесса заключается в том, что журнал проводок тянет на локаль только коды аналитического учета. А вот справочники аналитического учета подгружаются отдельно и только по необходимости. Покажу на примере, в чем разница. Предположим, у нас есть счет 60, который в качестве аналитики содержит контрагента. Если мы притащим сюда 50000 записей, в каждой из которых будет код и наименование контрагента, то получится 80 (байт/имя) * 50000 (записей) + 4 (байта на код) * 50000 (записей) = 4200000 байт. А если учесть, что одновременно мы работаем максимум с с сотней контрагентов, то притянув справочник отдельно получим (80 + 4) (байт на контрагента) * 100 (контрагентов) + 4 (байта на код) * 50000 (записей) = 208400 байт.

Правда разительная разница? А если пользователю не нужен справочник контрагентов (пользователь не работает с 60-ми счетами), то пользователь может просто отключить показ справочника и тогда он не будет загружен.
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35934972
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kruchinin PahanПравда разительная разница? А если пользователю не нужен справочник контрагентов (пользователь не работает с 60-ми счетами), то пользователь может просто отключить показ справочника и тогда он не будет загружен.
А если учесть что один бухгалтер редко работает со всеми счетами предприятия (если только это не фирмочка с одним бухом и двумя менеджерами) а только а пределах своей компетенции, то тянуть весь журнал за период несколько расточительно
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35935039
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.

Нет, существуют и другие режимы, которые позволяют выйти на префильтрованный журнал проводок. Например из оборотных ведомостей, анализов, карточек.

Но если бухгалтер говорит, что ему нужен журнал проводок, значит, ему нужен именно журнал проводок, а что он с ним будет дальше делать, это уже его дело.
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35935961
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BurnKruchinin PahanПравда разительная разница? А если пользователю не нужен справочник контрагентов (пользователь не работает с 60-ми счетами), то пользователь может просто отключить показ справочника и тогда он не будет загружен.
А если учесть что один бухгалтер редко работает со всеми счетами предприятия (если только это не фирмочка с одним бухом и двумя менеджерами) а только а пределах своей компетенции, то тянуть весь журнал за период несколько расточительно
Кроме простых бухгалтеров есть еще и аналитики, аудиторы, гл. бухгалтер и пр. Им, как правило, подавай все счета..
Я, например, обороты считаю на сервере. А вот журнал подгружается в момент когда происходит переходит с последнего уровня синтетики (или аналитики если она есть) до проводок. В этот момент и читаются проводки (журнал) по выбранному основному счету. Открытие журнала тоже происходит только по основному счету. Активно используется при этом возможности самого VFP для кеширования проводок: Если проводки уже были считаны ранее, то информация об этом хранится в специальной таблице и второй раз они с сервера не тянутся. Вообщем, все зависит от программиста. Такой инструмент как VFP позволяет распределять усилия про обработке данных между сервером и клиентом.
С уважением, Алексей.
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35938817
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Татьяна_sin

как у Вас успехи?
будем погружаться в тему курсорадаптеров?
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35939361
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример каскадов КАД + бекап БД для MS SQL 2005

1. восстановить БД из бекапа test.bakup
2. настроить строку соединения в startapp.prg

поиграйтесь, попытайтесь понять
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35939363
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как быстрее будет работать запрос?
    #35941533
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну. что коллеги пригорюнились?
баги-то нашли?
или это никому не нужно?
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как быстрее будет работать запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]