powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ускорить работу access в локальной сети
61 сообщений из 61, показаны все 3 страниц
ускорить работу access в локальной сети
    #34553666
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, умные люди, что надо сделать, чтобы при работе со связанными таблицами по локальной сети аксес работал быстрее? Ведь сеть то и не загружается практически (смотрел в диспетчере задач - загрузка сети всего 2-3%). Может где-то что-то можно оптимизировать в настройках сети или где, не знаю.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553689
Wyfinger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо больше времени уходит на обработку данных, а не на их пересылку по сети.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553692
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WyfingerВидимо больше времени уходит на обработку данных, а не на их пересылку по сети.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553695
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WyfingerВидимо больше времени уходит на обработку данных, а не на их пересылку по сети. На локальном компе обработка происходит намного быстрее. Как только размещаю таблицы на другой комп - включаються тормоза, хотя сеть не загружается и комп тоже достаточно мощный. Не понимаю, что хочет аксес. Может можно как-то обмануть систему, чтобы она думала, что это локальные таблицы???
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553703
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WyfingerВидимо больше времени уходит на обработку данных, а не на их пересылку по сети.Согласен, обработка данных там серьёзная, сравниваются большие объемы данных, работает запрос типа "select f1,f2,f3 from tb2 where f1 in (select f1 from tb3 group by f1) or f1 in (select f2 from tb2 group by f2)". Но почему-то по сети это происходит ужасно медленно. Хотя загрузка сети низкая. Как заставить сеть работать с большей загрузкой?
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553707
Albatross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты загрузку сети где смотришь? надо смотреть по крайней мере на том компе, где база лежи
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553708
Ban Me!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у вас походу излишки оборудования.

поставьте 2 сетевых карты по 0,5-1 Mbit. на развалах они еще встречаются.
в крайнем случае 10МBit. и сеть будет нагружена помаксимуму. если не поможет,
поковыряйте настройки сетывых карточек, быстродействие можно понизить даже на уровне драйвера.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553716
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Albatrossа ты загрузку сети где смотришь? надо смотреть по крайней мере на том компе, где база лежиСмотрю загрузку сети на машине, где обрабатываю данные - 2-3%. На машине, где данные лежат, не смотрел, но посмотрю, правда, не сегодня. Но думаю, что и там сеть не грузится до потолка. Да что тут говорить, вся база - около 700 MB, её перекачать намного быстрее, чем открыть и работать по сети. Проблема остается.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553717
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ban Me!у вас походу излишки оборудования.

поставьте 2 сетевых карты по 0,5-1 Mbit. на развалах они еще встречаются.
в крайнем случае 10МBit. и сеть будет нагружена помаксимуму. если не поможет,
поковыряйте настройки сетывых карточек, быстродействие можно понизить даже на уровне драйвера.Спасибо. Не надо умничать. Хочу, чтобы во время обработки данных сеть грузилась до 100%, чтобы я видел, что проблема действительно в сети, а то сеть не загружена, а работает медленно.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553722
Ban Me!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
работает медленно Access, сеть работает быстро.

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

то есть по сути провести исследование на предмет влияния ширины сетевого потока на производительность самого Accessa, когда захлебывается акс, когда сеть, какие оптимальные параметры выбрать для золотой середины. чтобы не переплачивать за сетевые карты лишних денег.
2-3 % вы сказали. 97% цены выпереплатили.. ответ то очевиден.

Вы обратились авторПодскажите, умные люди, что надо сделать - вам подсказывают, а вы упрямитесь.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553731
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вам подсказывают, а вы упрямитесь.[/quot]То есть проблема только в аксес? Я тут где-то вычитал недавно " вообще для сетевого использования mdb необходимо правильно настроить сетку.
в реестр правильно прописать пареметры TCPIP
(максимальный размер окна и прочее)
для любопытства можно посмотреь в диспетчере задач загрузка сети (по отдельности полученные и переданные байты - это настраиваетс) загрузка проца

сравнить с локальным вариантом когда и данные и клиент на одном компе
соотнести загрузку сети и проца по времени
" Думал, может кто-то подскажет поподробнее.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553740
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хочу понять, в чём причина плохой работы аксес по сети, если сеть не загружается, то что происходит? Куда деваются ресурсы системы? Почему на локальном компе работает быстро?
Может можно аксесу чем-то "помочь"? Неужели нет никакого выхода кроме перехода на sql-сервер.

Слышал, есть возможность заставить систему думать, что СЕТЕВОЙ ДИСК - ЛОКАЛЬНЫЙ.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553767
Netstat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ хочу понять, в чём причина плохой работы аксес по сети, если сеть не загружается, то что происходит? Куда деваются ресурсы системы? Почему на локальном компе работает быстро?
Может можно аксесу чем-то "помочь"? Неужели нет никакого выхода кроме перехода на sql-сервер.

Слышал, есть возможность заставить систему думать, что СЕТЕВОЙ ДИСК - ЛОКАЛЬНЫЙ.
1. Возмите 100 файлов и разместите их на сетевом ресурсе. Скопируйте из себе на копм, замерив время
операции
2. Теперь скопируйте 100 файлов локально ну себя на компе, замерив время операции.
3. Сравните время операций п1 и п2.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553774
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netstat[quot автор]1. Возмите 100 файлов и разместите их на сетевом ресурсе. Скопируйте из себе на копм, замерив время
операции
2. Теперь скопируйте 100 файлов локально ну себя на компе, замерив время операции.
3. Сравните время операций п1 и п2.
Когда я копирую файлы по сети, то я вижу, что сеть загружается на 100%. А когда работает аксес по сети, то сеть занята всего-то на 3% и работает медленно. Если бы сеть была загружена по максимуму, была бы понятна причина медленной работы - сеть. Но сеть то свободна, а почему-то именно при работе по сети тормозит.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34553996
gms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gms
Гость
у меня та жа проблема...что же нужно сделать?
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34555359
Фотография Booma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда я копирую файлы по сети, то я вижу, что сеть загружается на 100%. А когда работает аксес по сети, то сеть занята всего-то на 3% и работает медленно. Если бы сеть была загружена по максимуму, была бы понятна причина медленной работы - сеть. Но сеть то свободна, а почему-то именно при работе по сети тормозит.
Ну забейте больше данных в базу, тогда при вытаскивании их с удалённой машины вы увидите как нагрузится сеть. Найдите золотую зередину объёма данных когда сеть будет нагружена на 100% и работайте с ним.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34555446
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndriyShch WyfingerВидимо больше времени уходит на обработку данных, а не на их пересылку по сети.Согласен, обработка данных там серьёзная, сравниваются большие объемы данных, работает запрос типа "select f1,f2,f3 from tb2 where f1 in (select f1 from tb3 group by f1) or f1 in (select f2 from tb2 group by f2)". Но почему-то по сети это происходит ужасно медленно. Хотя загрузка сети низкая. Как заставить сеть работать с большей загрузкой?
вот есь такие решения, как закачка агрегированных данных в локальные таблички, и свертка уже с ними, с локальными. Главное - есть ли какие-то индексы, по которым акс может выбрать, что тянуть в итоге с сетки, а чо и не надо, да и хватает ли ему памяти для размещения подтянутого.

хотя именно для IN(SELECT ) которое у вас прописано не зависящим от внешнего селекта, я могу посоветовать превратить результат SELECT в строку IN(1,2,7,...) - много шибче отработает. Если в лимит по длине SQL строки влезет.


ЗЫ: или же взять
Код: plaintext
1.
2.
3.
4.
SELECT DISTICTROW t2.f1,..., t2.fn
 FROM (tbl2 AS t2
  LEFT JOIN tbl3  AS t3 ON t2.f1 = t3.f1)
   LEFT JOIN tbl2  AS t1 ON t2.f1 = t1.f2
   WHERE (NOT t1.f2 IS NULL) OR (NOT t3.f1 IS NULL)
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34557536
Lamazoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загоняйте Фсе в терминал или цитрикс - и будет Вам ускорение достатчно хорошее даже при одновременной работе нескольких пользователей
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34557554
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LamazoidЗагоняйте Фсе в терминал или цитрикс - и будет Вам ускорение достатчно хорошее даже при одновременной работе нескольких пользователейтакими запросами, какие он тут пишет, он и терминал просадит по полной. Хотя они лехко переписываются в более оптимальном виде.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34559487
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за поддержку.
И всё таки я так и не услышал ответа, почему на локальном компе работает быстро (ну скажем в раз 5-10 быстрее) , а по сети тормозит, хотя, кам мы тут разобрались, причина не в скорости сети. Тогда в чём? У аксеса, наверно, изначально заложено "тормозить" при работе по сети. А возможно его обмануть? Пускай думает, что это локальный диск. Может кто подскажет, есть какие-то варианты эмуллировать локальный диск вместо сетевого? Слышал про какую-то "самбу". Может кто-то что-то знает?.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34559511
AndriyShch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321[quot Lamazoid]такими запросами, какие он тут пишет, он и терминал просадит по полной. Хотя они лехко переписываются в более оптимальном виде.Подскажите же, как оптимизировать мой запрос? Пускай, сравниваются две таблицы tb1, tb2 с текстовыми полями f1, f2 - допускаются совпадения. tb1 - большая таблица, больше миллиона строк, и tb2 поменьше, до 10 тысяч строк. И надо выбрать все строки в таблицах tb1 и tb2 где tb1.f1 или tb1.f2 равно tb2.f1 или tb2.f2. Пока у меня такой вариант.
"select f1, f2 from tb1 where f1 in (select f1 from tb2 group by f1) or f1 in (select f2 from tb2 group by f2) or f2 in (select f1 from tb2 group by f1) or f2 in (select f2 from tb2 group by f2)"
Оптимизируйте, пожалуйста.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34559661
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так, раза в полтора, два быстрее должно быть

select f1, f2 from tb1, (select f1 from tb2 group by f1) as t2,
tb1 inner join t2 on tb1.f1=t2.f1
Union all
select f1, f2 from tb1, (select f2 from tb2 group by f2) as t2,
tb1 inner join t2 on tb1.f1=t2.f2
Union all
select f1, f2 from tb1, (select f1 from tb2 group by f1) as t2,
tb1 inner join t2 on tb1.f2=t2.f1
Union all
select f1, f2 from tb1, (select f2 from tb2 group by f2) as t2,
tb1 inner join t2 on tb1.f2=t2.f2
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34561541
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndriyShch 4321[quot Lamazoid]такими запросами, какие он тут пишет, он и терминал просадит по полной. Хотя они лехко переписываются в более оптимальном виде.Подскажите же, как оптимизировать мой запрос? Пускай, сравниваются две таблицы tb1, tb2 с текстовыми полями f1, f2 - допускаются совпадения. tb1 - большая таблица, больше миллиона строк, и tb2 поменьше, до 10 тысяч строк. И надо выбрать все строки в таблицах tb1 и tb2 где tb1.f1 или tb1.f2 равно tb2.f1 или tb2.f2. Пока у меня такой вариант.
"select f1, f2 from tb1 where f1 in (select f1 from tb2 group by f1) or f1 in (select f2 from tb2 group by f2) or f2 in (select f1 from tb2 group by f1) or f2 in (select f2 from tb2 group by f2)"
Оптимизируйте, пожалуйста.вам уже приводили набросок с использованием DISTICTROW (Это весьма полезное словцо в JetSQL, коим не следует пренебрегать, хотя в других диалектах оно не распространено). Он должен (как правило) считаться много быстрее IN-ов (особо при наличии соотвествующих индексов по f1 и f2), и при этом остаться редактируемым - в отличие от UNION-а от mds_world.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34561567
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ:
вместо IN-ов, выполняющихся для каждой записи в
select f1, f2 from tb1 where f1 in (select f1 from tb2 group by f1) or f1 in (select f2 from tb2 group by f2) or f2 in (select f1 from tb2 group by f1) or f2 in (select f2 from tb2 group by f2)"
имеет смысл сделать 1 хранимый запрос

Код: plaintext
1.
2.
select f1 from tb2 group by f1
UNION 
select f2 from tb2 group by f2

и присоединить его слева по полю f1 и f2 к вашей таблице, подребовав непустость хотя-б одного из присоединений. Это гарантирует, что этот "опорный" запрос будет посчитан не более 2х (думаю - что и 1-го) раз.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34561656
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, чуть не забыл. В вашем случае даже примитивные Exists(SELECT ) как правило работают быстрее IN(Select ...). Но это так, к слову - т.к. особенность конкретного оптимизатора, а не мат. необходимость.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #34563053
Wyfinger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndriyShchВсем спасибо за поддержку.
И всё таки я так и не услышал ответа, почему на локальном компе работает быстро (ну скажем в раз 5-10 быстрее) , а по сети тормозит, хотя, кам мы тут разобрались, причина не в скорости сети. Тогда в чём? У аксеса, наверно, изначально заложено "тормозить" при работе по сети. А возможно его обмануть? Пускай думает, что это локальный диск. Может кто подскажет, есть какие-то варианты эмуллировать локальный диск вместо сетевого? Слышал про какую-то "самбу". Может кто-то что-то знает?.

Например если ядро БД будет очень много обращаться за небольшими порциями данных сеть не будет сильно загружена, хотя реальная скорость передачи данных будет намного меньше локального копирования. Например много мелких файлов (я проверял на 1500 иконках) копируются по сети в 2,5-5 раз медленнее чем локально, хотя сеть остается незагруженна. Наверное это ограничения или ошибки службы сервера, которых, как оказывается, немало.

По-поводу обмана Access: для начала попробуйте подключить сетевой диск. В любом случае, мне как-то мало верится, что разработчики могли намеренно вложить такие ограничения.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ускорить работу access в локальной сети
    #39332620
igv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
igv
Гость
Здравствуйте уважаемые знатоки. Подниму эту тему из мертвых, быть может кто-то поможет мне помочь:

Есть SQL сервер, на котором хранятся таблички (около 40к строк), с помощью запроса из них просматриваются отфильтрованные значения на локальных компьютерах. С ростом объема данных все сильнее чувствуется тормознутость просмотра. Как можно ускорить этот процесс??

Код: vbnet
1.
2.
3.
4.
5.
6.
SELECT [_serv_svodnaya].*, IIf([Switch]=3,"-",[data_sled_pov]) AS datsled
FROM _serv_svodnaya
WHERE ((([_serv_svodnaya].poveritel)=MyTempVars("MyVar")))
ORDER BY ([_serv_svodnaya].[id_serv_svodnaya]);

 
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39332710
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igv,

Я бы порекомендовал прочесть рекомендации по повышению производительности при работе с SQL сервером , мне не нравится локальная функция в WHERE, возможно из-за нее тащится вся таблица на клиентсткий компьютер. Проведите несколько экспериментов по определению скорости работы запроса. Замерьте скорость работы в разных вариантах:
1. Сохраненный запрос, как он сейчас есть. Я так понимаю, _serv_svodnaya - это прилинкованая таблица?
2. Тот же запрос, но замените функцию на фиксированное значение
3. Скопируйте текст запроса в новый passthrough запрос (извиняюсь, не помню, как это в русской версии называется), где замените функцию на фиксированное значение
4. Тот же passthrough запрос выполнить вне Акцесса, в любой другой среде, хоть SQL Analyzer или что-то подобное

По результатам уже можно будет определить что виновато в задержках - сервер, клиент, Акцесс или наличие функции в where
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39332717
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по "IIf" это текст процедуры в ВБА на стороне клиента. Конечно будет тормозить и еще как - в Вашем случае вся таблица гонится на него.
Создайте хранимую процедуру с параметрами и будете получать все быстро и красиво.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39332962
igv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
igv
Гость
Odess,

Код: vbnet
1.
2.
3.
4.
SELECT *
FROM METR.____________serv_svodnaya
ORDER BY id_serv_svodnaya;
 


такой запрос стал работать очень быстро (если я правильно поняла Ваш посыл).

но хочется поставить фильтр с глобальной переменной, но не могу разобраться с синтаксисом (
Код: vbnet
1.
2.
3.
4.
5.
SELECT *
FROM METR.____________serv_svodnaya
WHERE poveritel=MyTempVars("MyVar")
ORDER BY id_serv_svodnaya;
 
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39332964
igv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
igv
Гость
в запросе заполняется строка подключения к ODBC
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39332983
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igvв запросе заполняется строка подключения к ODBC
Не нужно так делать. Создавайте запросы на сервере, в этом вся его прелесть.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39333255
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft Access не приспособлена для активной сетевой работы.
Всё попытки реализовать многопользовательскую работу кончались жуткими тормозами.
Не тот это инструмент.
Технология не та.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39333305
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Microsoft Access не приспособлена для активной сетевой работы
Правильно спроектированное приложение, где основная логика, затрагивающая совместную работу перенесена на SQL сервер, работает прекрасно даже под высокой многопользовательской нагрузкой.

mdb/accdb действительно не приспособлены для активной совместной работы, хотя я слышал противоположные мнения. Мой опыт этого не подтверждает, увы.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39334636
igv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
igv
Гость
Подскажите что можно использовать для сетевой работы? (максимально простое в разработке).

Помогите пожалуйста разобраться с синтаксисом:
запрос к SQL серверу, где MyTempVars("MyVar") это глобальная переменная.

Код: vbnet
1.
2.
3.
4.
5.
SELECT *
FROM METR.____________serv_svodnaya
WHERE poveritel=MyTempVars("MyVar")
ORDER BY id_serv_svodnaya;
 



при этом выдает ошибку:
...[SQL Server]'MyTempVars' is not a recognized function name. (#195)
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39334707
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читайте про параметры процедур.
Маленький пример:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
ALTER PROCEDURE [dbo].[web_MAC]
(@MAC char(18)='00:00:00:00:00:00', @k int output)

AS
BEGIN
SET NOCOUNT ON

set @K =( SELECT  TOP 1  Pass FROM  dbo.WebMAC Where MAC=@MAC ) 

if @K is null 
	set @K =0
	
END
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39334938
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Microsoft Access не приспособлена для активной сетевой работы.
Всё попытки реализовать многопользовательскую работу кончались жуткими тормозами.
Не тот это инструмент.
Технология не та.Вы правы. Многое зависит от требований к задаче и условий эксплуатации. У нас на предприятии уже 12 лет работает сетевая задача на чистом Access. Число одновременно работающих пользователей 5-7 (обычно), сервер терминалов. База за это время выросла со 150 до 800 Мб. Ещё на 10 лет хватит.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39335676
igv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
igv
Гость
Немного поразбиравшись поняла, что проблема намного сложнее для меня чем казалось. Даже если этот запрос будет работать, то он будет открывать таблицу для чтения, в то время как нужно добавлять и изменять записи.
Подскажите, уважаемые форумчане, в каком направлении вообще двигаться? Нужно обеспечить подключение к одной таблице нескольких пользователей (у каждого идет индивидуальная выборка записей).
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39405214
vgrafin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Некоторые наблюдения по теме тормозов. База работает с 1998г. Office2007,2010,2013. Клиентская часть - 10Мб, табличная 10Мб. Активных пользователей 5-6. Прибыль по 10-11тыс записей в месяц-это около 3Мб/мес. Около 80 таблиц, интерфейс с заморочками. Борьба с "опуханием" - устаревшие, но нужные данные выносятся в другую базу(archive.mdb), доступ по запросу, без прилинкованных таблиц. Удаётся удерживаться на уровне 8-10Мб. Забой в личные таблицы на сервере, только потом сброс в общую, со всеми проверками. "Темп" таблицы -локально, при выходе очистка. Локально работает шустро, в сети начало тормозить, даже при 1 пользователе! Пора подумать о SQLсервере? Надо попробовать. Беру довольно дохлую машинку, единственную свободную в конторе. Ставлю левый MS server2008, такой же SQL2008. Перенёс, приODBC-лся, вроде работает. Мысль - а на чём лежит моя -by.mdb? А, на Samba. Доступ только у СА. Переношу табличную часть на "свой сервер" - ого-го, работает, как на локалке. Ну почти. Пока не знаю, радоваться или нет.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39405288
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vgrafinПереношу табличную часть на "свой сервер" - ого-го, работает, как на локалке.

Скорее всего вы базу перенесли на абсолютно свободный комп (хоть и дохлый) вот и летает..., часто бывает что с базой на сервере предприятия работает максимум 5 человек, а сам сервак чем только не занимается в это время (и печать вся на нем, и домен и куча терминальных пользователей, и в гарант с консультантом все лезут на него и фаервол не дремлет), а ваша база там двадцатая в очереди на обработку ...
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39405576
vgrafin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag, уточнил - Samba на голяк, никому больше не прислуживает. Только 1С, но бухгалтерия не дымиться. Последняя крамольная мысль - к чёрту загруженные? незагруженные сервера - попробую на любой приличный неозадаченный комп. Как ранее не додумался?
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39405702
I2S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I2S
Гость
vgrafin, сама база в каком формате Access?
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39405803
vgrafin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
I2S, Пока всё .mdb, хотя 2003 офис уже перестал использоваться. Но от новых возможностей мне ничего не треба. И .ocx приходится доставлять на оф.10 и 13. На старый календарь сильно завязано. Зачем хорошие вещи выкидывать, лучше в хорошие руки.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39405843
vgrafin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag и остальным исследователям. Включил диспетчер задач, Сеть. Верх ползёт по 1Гб/сек. Вызов Samba Даёт здоровенные секунды на 2 и приличный пик исходящего трафика. Запрос с моего - махонькие пики. Быстрое листание сложной формы даёт 1,2 -2мбит/с и 10-500кбит/с (счётчик На Win10). Ну, так, на глаз. Призабаво-с.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406127
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vgrafinБорьба с "опуханием" - устаревшие, но нужные данные выносятся в другую базу(archive.mdb), доступ по запросу, без прилинкованных таблиц.

Подскажите как делается доступ по запросу в архивную базу без прилинкованых таблиц?

Я в своё время отказался от сбрасывания в архивную базу и держу архивные таблицы в рабочей базе от чего "опухание" прогрессирует (уже 150 МБ). Причиной отказа была проверка ключевых полей сброшенных данных чтобы в случае возврата архивных данных в рабочие таблицы не нарваться на конфликт ключей. Поэтому при каждом создании записи проверяю максимальное значение ключа в рабочей и архивной базе и создаю на единицу больше (счётчикам не доверяю). А для проверки приходится держать поближе архивные таблицы.
Оптимальность работы своей базы конечно оставляет желать лучшего. Но вот над разделением архивных от рабочих подумываю. Но как быстро и качественно делать проверку ключей в них?
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406626
I2S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I2S
Гость
vgrafin, существует глюк (на своей шкуре испытал). База, созданная на 2000-2003 Аксе, после сжатия в Акс 2007 и далее теряет свою "скорострельность", такое впечатление, что перестает работать индексация. И только сжатие базы в родном Аксе восстанавливает эту лажу. Возможно Вы столкнулись с такой же ситуацией. Ну а после "лечения" надо снять галку "Автоматического сжатия".
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406631
I2S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
I2S
Гость
vgrafin, а вообще то копайте в сторону открытых рекордсетов в базе данных. Прекрасно Акс работает с сетью, наговоры все это
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406661
vgrafin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GVOV,
INSERT INTO tb_1 IN 'X:\Base\mybase.mdb' SELECT...; 'это делает конструктор

SELECT tb_1.*
FROM X:\Base\mybase.tb_1 tb_1; этого конструктор не создаёт и не понимает.
Да, выгрузить и посмотреть не проблема, но необходимо хорошо знать структуру базы и способов её использования, что б понять, какие ухищрения подойдут. Можно делать сделать запрос на объединение, а прилинковку делать временную на время запроса.
А на счёт возврата данных назад-много вопросов. Какие таблицы архивируются, нужно ли их потом редактировать, какова частота обращения к ним, архивируются ли справочные, таблицы, частями или целиком? А что делать тем у кого вставка в тот момент, когда таблицу напихали архивными данными. Вопросы, вопросы... У меня, например, есть справочные, таблицы, которые могут меняться(что б мусор не тащить).Если основное поле слишком длинное(название клиента -а он ни кому не нужен), есть доп. поле с короткой понятной аббревиатурой(уник.индекс). В архив я вставлю не ключ, а это поле. В архиве не нужно соединений, а клиента можно выкинуть, в запросе фильтром выбрать. Нереляционно, но работает. Размер архива мне как-то не очень.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406708
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смешно читать, как народ вместо того, что бы перейти на SQL, продолжает набивать шишки и ищет себе проблемы на голову...
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406720
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vgrafinGVOV,
INSERT INTO tb_1 IN 'X:\Base\mybase.mdb' SELECT...; 'это делает конструктор

SELECT tb_1.*
FROM X:\Base\mybase.tb_1 tb_1; этого конструктор не создаёт и не понимает.
Да, выгрузить и посмотреть не проблема, но необходимо хорошо знать структуру базы и способов её использования, что б понять, какие ухищрения подойдут. Можно делать сделать запрос на объединение, а прилинковку делать временную на время запроса.
А на счёт возврата данных назад-много вопросов. Какие таблицы архивируются, нужно ли их потом редактировать, какова частота обращения к ним, архивируются ли справочные, таблицы, частями или целиком? А что делать тем у кого вставка в тот момент, когда таблицу напихали архивными данными. Вопросы, вопросы... У меня, например, есть справочные, таблицы, которые могут меняться(что б мусор не тащить).Если основное поле слишком длинное(название клиента -а он ни кому не нужен), есть доп. поле с короткой понятной аббревиатурой(уник.индекс). В архив я вставлю не ключ, а это поле. В архиве не нужно соединений, а клиента можно выкинуть, в запросе фильтром выбрать. Нереляционно, но работает. Размер архива мне как-то не очень.

Спасибо, относительно запросов понял.
А чем прилинковка плохая в плане производительноти что её лучше делать временной?
Я архивирую только данные без справочников. Они постоянно в рабочей базе (они не критично растут) но при попытке удаления из них данных проверяю наличие в архивных таблицах связей и не даю их удалять. Также использую Нереляционность для отсоединения связей (вообще база без связей, связи поддерживаю логикой приложения при добавлении, редактировании, удалении)
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406800
vgrafin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GVOV, может и не хуже. Если в архиве тоже не сидит по несколько пользователей. Поскольку база однофайловая, то как было замечено выше и как подсказывает "здравый смысл" важна не сеть, а ресурсы сервера, поскольку важна скорость переваривания этого файла, который открыт несколькими пользователями - чем меньше, тем лучше. Открытый запрос, то бишь connection с другой базой наверное не лучше, чем по линковке, поэтому мне представляется лучшим способом дёрнуть нужную информацию из другой базы на локалку. Отсоединились, поработали, никому не мешая, ненужное выкинули. Ну, на логику работы придётся потратиться. Кто б слово умное молвил, как устроены кишки у Access. Например вопрос: файл -be лежит сам по себе, без всякого наружного Acc интерфейса, движок у него внутри. Ему всё равно где лежать? И как с окружением жить?

Для Odess: смешно видеть как народ вещи перед поездкой на дачу упихивает. Купили бы автобус. Можно Крузак, но маловат.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39406931
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
vgrafin
Для Odess: смешно видеть как народ вещи перед поездкой на дачу упихивает. Купили бы автобус. Можно Крузак, но маловат.
Смешно действительно .
OdessСмешно читать, как народ вместо того, что бы перейти на SQL, продолжает набивать шишки и ищет себе проблемы на голову...
А для того чтобы не упихивать чемоданы , есть SQL Server Express , возможностей у которого немного побольше , чем у Access .
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39407042
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работаю с Акцесс с 1996 года, покупал, кстати лицензионный, на дискетах ))) Учил по документации, которая шла в комплекте, 2 толстых книги, жаль где-то потерялись. Точнее взяли почитать и не вернули. Интернет тогда только появлялся у нас.
И очень долго использовал его в технологии mdb - отдельный файл с данными, отдельный с программой. И все было хорошо, ну иногда mdb-ки становились не распознанными, но акцесс прекрасно справлялся с восстановлением. Когда стал продавать программу массово, то все чаще приходилось ездить к клиентам и восстанавливать mdb. Пока несколько раз не столкнулся с полной потерей данных. Вот тогда и перешел на связку с SQL. Сначала просто прилинкованные таблицы, потом на adp. Хотя похоже, что скоро придется опять на mdb возвращаться
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39407077
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Odessну иногда mdb-ки становились не распознанными, а у меня еще и mde - шки... оказалось исключительно по глупости самих клиентов... ездил к одному, ну раз в месяц - точно... Оказалось что завершение работы у него - это опускание вниз общего рубильника в здании - х...ле, удобно и надежно... второй выбирал Пуск- Спать и выключал UPS (тоже не закрывая программу)....
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39407105
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Odess,

Господа. вопрос в тему. При работе с MS SQL(в частности)
Про отказ от adp я слышал. Решил делать не adp проекты, а линковаться к серверу через SQLOLEDB
делается все в vba и никаких постоянно линкованых таблиц. Я ДУМАЛ(ю), что я ушел от adp...
После слов
OdessХотя похоже, что скоро придется опять на mdb возвращаться
у меня закралось сомнение по поводу моего видения типа работы с бд.

Правильно ли я понимаю, что создание клиента в обычном *.accdb и работой с sql через хранимки не является adp проектом?

И можно еще вопрос.
Как при передаче(установщик?) заказа сделать тихую установку sql если его нет, конечно при согласовании с заказчиком, просто чтобы не заморачивать людей установкой сервера отдельно.
Столкнулся с такой ситуацией: в конторе есть "админ", специально в кавычках, не могут установить сервер.
При чем уже не первый раз... крайним как всегда оказываешься сам. "Админ" же свой, родной. А тут пришел ... с бугра, мы должны кликнуть один раз и что бы все сразу заработало))).
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39407109
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИгортанПравильно ли я понимаю, что создание клиента в обычном *.accdb и работой с sql через хранимки не является adp проектом?
Конечно не является.
Хотя работа напрямую с объектами сервера очень удобна и не хочется от нее отказываться, Майкрософт я тоже понимаю. Постоянный коннект есть зло. А тем более обработка записей в ВБА, чем сильно грешил раньше. Сейчас 90% бизнес логики уже переведено на сервер, формы начинаю переводить на отвязанные рекордсеты. Готовлюсь к переходу понемногу. Хотя большинство клиентов работает еще с Access XP, только начали переходить на 2010й Access, так что время еще есть.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39407122
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Odess,

Спасибо за ответ!

А как решают вопрос опытные люди по второму вопросу?
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39407140
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуглим "инсталяторы". Например Advanced Installer. Но по опыту скажу, что все ситуации все равно не обработаешь.
Поэтому Тимвьювер или подобные в помощь. Что бы не ездить.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39407172
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Odess,

да, спасибо за помощь, смотрю. Мельком пока, правда.
Так основной затык в том, что при установке нужно вводить какие то параметры...
как их туда загнать в соответствующие места...
Если есть в этом опыт, толкните в нужную сторону.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39455468
Piple0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставлю 5 копеек из опыта. Аксесс+линкованые таблицы по ODBC к MSSQL. На локальном компьютере долго грузятся формы (медленно появляются элементы), хотя данные в источнике видно моментально.
Проблема оказалась в рабочей папке - она была сетевая. Это свойство в параметрах Access. Если переместить файл на C диск, и сменить рабочую папку, то база работает гораздо быстрее.
Также один раз аксесс упорно не грузил форму, из за того, что отсутствовала папка C:\Users\User\Documents (после вируса не полностью был восстановлен профиль пользователя). То есть база не могла создать временный файл в месте, принятом по-умолчанию.

Это как вариант, куда еще копать для ускорения работы.
...
Рейтинг: 0 / 0
ускорить работу access в локальной сети
    #39455755
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так естественно, что на локальном диске база будет работать быстрее чем с сетевого.
Но только у одного человека.
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ускорить работу access в локальной сети
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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