powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Почему сортировка в форме медленней, чем в запросе?
7 сообщений из 7, страница 1 из 1
Почему сортировка в форме медленней, чем в запросе?
    #32231735
ExFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Помогите пожалуйста разрешить мне одну
проблему. Я искал нужную мне информацию в Интернете, но
ничего не нашел. Вернее нашел этот форум. Вот сейчас
почитал его и надеюсь что вы мне сможете помочь.
Я делаю под заказ базу данных на основе Access,
которая будет работать в сети и сейчас не могу определить
как лучше сделать, чтобы всё нормально работало не только
у меня на машине, но и у клиента через сеть.
Проблема вот в чём. К форме подсоединен запрос, записи в
котором должны сортироваться по разному в зависимости от
некоторых факторов, которые меняются. Делать запросы с
разными параметрами сортировки я не хочу, поэтому делаю так:
Private Sub Form_Load()
Me.OrderBy = Параметр сортировки
Me.OrderByOn = True
End Sub
Сейчас это работает так же быстро, как будто если я применяю
сортировку прямо в запросе, но мне сказали что в сети это
значительно замедлит получение данных во время открытия формы.
Я никак не могу понят почему это может случиться, ведь данные
в форме будут сортироваться уже на компьютере! Сейчас замеры
показывают что запрос с сортировкой и запрос без сортировки но
с сортировкой в форме выполняются приблизительно за одинаковое
время.
Объясните пожалуйста почему это может замедлять открытие формы
и что происходит если сортировка определена не в запросе а в
форме в момент ее открытия?

К сожалению я смогу прочитать ответы только следующей ночью,
поэтому заранее благодарю за ваше внимание!
Надеюсь на вашу помощь.
...
Рейтинг: 0 / 0
Почему сортировка в форме медленней, чем в запросе?
    #32231742
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вобще это зависит от количества данных, естесственно.

100 строк можете и в форме на клиенте сортировать. И даже 1000, я думаю.

дело в том, что форма не загружает полностью весь результат запроса, а только ту часть, которую собирается показать. если же вы собираетесь соритровать в форме, приходится закачивать все строки, которые возвращает запрос, до самой распоследней строчечки. иначе как отсортировать - вдруг в запросе строка, которая должна быть первой, окажется самой последней?? ;)
...
Рейтинг: 0 / 0
Почему сортировка в форме медленней, чем в запросе?
    #32231746
ExFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо вам, Fedd, за такую быструю реакцию! Даже не ожидал!
Поэтому могу, так сказать, "ответить" сейчас :-).
Я забыл сказать, что программа будет работать на основе файл-сервера,
поэтому то я и не до конца понимаю разницу между сортировкой в запросе
и сортировкой в форме. Ведь при сортировке в запросе все записи
всё равно будут закачаны на "клиента" и только там рассортированны.
Так чем же тогда отличается такая сортировка от сортировки в форме?
Извиняюсь, что не предоставил с самого начала более полную информацию.
Еще раз спасибо за оперативный ответ!
...
Рейтинг: 0 / 0
Почему сортировка в форме медленней, чем в запросе?
    #32231751
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пожалуста!

тогда я выкручусь так:

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

то есть и на одной машине это также невыгодно - сортировать в форме. хотя может, гуру меня и поправят в плане того, как это действительно происходит в Jet
...
Рейтинг: 0 / 0
Почему сортировка в форме медленней, чем в запросе?
    #32231753
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перечитал свой опус.
индексы - прям слово-паразит у меня ;)
...
Рейтинг: 0 / 0
Почему сортировка в форме медленней, чем в запросе?
    #32233376
ExFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
fedd, спасибо еще раз! На счет индексов я действительно
не подумал. Подумал лишь после ваших слов и всё равно не
понял почему должно стать медленней, ведь индексы всё
равно уже на "клиенте" после запроса без сортировки,
поэтому сортировка из формы должна работтать уже с
индексами, которые на "клиенте".

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

все данные тащатся на клиента и там обрабатываются.
(в общем случае вся база)
вот основа.
при базе > 10M (это после сжатьи востановить) уже надо говиться к переходу на клиент-сервер


у клиент-сервера

серверу дают задачу и он возвращает только требуемые данные.

выйгрыш - грамотном распределении обработки между клиентом и сервером.
если частая сортировка 50-100 строк тоэто лучше один раз получить на клиента и там обрабатывать, чем их (50-100 строк ) таскать с сервера....
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Почему сортировка в форме медленней, чем в запросе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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