|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
AndriyShchВсем спасибо за поддержку. И всё таки я так и не услышал ответа, почему на локальном компе работает быстро (ну скажем в раз 5-10 быстрее) , а по сети тормозит, хотя, кам мы тут разобрались, причина не в скорости сети. Тогда в чём? У аксеса, наверно, изначально заложено "тормозить" при работе по сети. А возможно его обмануть? Пускай думает, что это локальный диск. Может кто подскажет, есть какие-то варианты эмуллировать локальный диск вместо сетевого? Слышал про какую-то "самбу". Может кто-то что-то знает?. Например если ядро БД будет очень много обращаться за небольшими порциями данных сеть не будет сильно загружена, хотя реальная скорость передачи данных будет намного меньше локального копирования. Например много мелких файлов (я проверял на 1500 иконках) копируются по сети в 2,5-5 раз медленнее чем локально, хотя сеть остается незагруженна. Наверное это ограничения или ошибки службы сервера, которых, как оказывается, немало. По-поводу обмана Access: для начала попробуйте подключить сетевой диск. В любом случае, мне как-то мало верится, что разработчики могли намеренно вложить такие ограничения. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2007, 07:03 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Здравствуйте уважаемые знатоки. Подниму эту тему из мертвых, быть может кто-то поможет мне помочь: Есть SQL сервер, на котором хранятся таблички (около 40к строк), с помощью запроса из них просматриваются отфильтрованные значения на локальных компьютерах. С ростом объема данных все сильнее чувствуется тормознутость просмотра. Как можно ускорить этот процесс?? Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 11:53 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
igv, Я бы порекомендовал прочесть рекомендации по повышению производительности при работе с SQL сервером , мне не нравится локальная функция в WHERE, возможно из-за нее тащится вся таблица на клиентсткий компьютер. Проведите несколько экспериментов по определению скорости работы запроса. Замерьте скорость работы в разных вариантах: 1. Сохраненный запрос, как он сейчас есть. Я так понимаю, _serv_svodnaya - это прилинкованая таблица? 2. Тот же запрос, но замените функцию на фиксированное значение 3. Скопируйте текст запроса в новый passthrough запрос (извиняюсь, не помню, как это в русской версии называется), где замените функцию на фиксированное значение 4. Тот же passthrough запрос выполнить вне Акцесса, в любой другой среде, хоть SQL Analyzer или что-то подобное По результатам уже можно будет определить что виновато в задержках - сервер, клиент, Акцесс или наличие функции в where ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 13:42 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Судя по "IIf" это текст процедуры в ВБА на стороне клиента. Конечно будет тормозить и еще как - в Вашем случае вся таблица гонится на него. Создайте хранимую процедуру с параметрами и будете получать все быстро и красиво. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 13:49 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Odess, Код: vbnet 1. 2. 3. 4.
такой запрос стал работать очень быстро (если я правильно поняла Ваш посыл). но хочется поставить фильтр с глобальной переменной, но не могу разобраться с синтаксисом ( Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 16:38 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
в запросе заполняется строка подключения к ODBC ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 16:39 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
igvв запросе заполняется строка подключения к ODBC Не нужно так делать. Создавайте запросы на сервере, в этом вся его прелесть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2016, 17:00 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Microsoft Access не приспособлена для активной сетевой работы. Всё попытки реализовать многопользовательскую работу кончались жуткими тормозами. Не тот это инструмент. Технология не та. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 09:09 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
982183Microsoft Access не приспособлена для активной сетевой работы Правильно спроектированное приложение, где основная логика, затрагивающая совместную работу перенесена на SQL сервер, работает прекрасно даже под высокой многопользовательской нагрузкой. mdb/accdb действительно не приспособлены для активной совместной работы, хотя я слышал противоположные мнения. Мой опыт этого не подтверждает, увы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2016, 10:12 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Подскажите что можно использовать для сетевой работы? (максимально простое в разработке). Помогите пожалуйста разобраться с синтаксисом: запрос к SQL серверу, где MyTempVars("MyVar") это глобальная переменная. Код: vbnet 1. 2. 3. 4. 5.
при этом выдает ошибку: ...[SQL Server]'MyTempVars' is not a recognized function name. (#195) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 16:52 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Читайте про параметры процедур. Маленький пример: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2016, 18:08 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
982183Microsoft Access не приспособлена для активной сетевой работы. Всё попытки реализовать многопользовательскую работу кончались жуткими тормозами. Не тот это инструмент. Технология не та.Вы правы. Многое зависит от требований к задаче и условий эксплуатации. У нас на предприятии уже 12 лет работает сетевая задача на чистом Access. Число одновременно работающих пользователей 5-7 (обычно), сервер терминалов. База за это время выросла со 150 до 800 Мб. Ещё на 10 лет хватит. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 09:00 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Немного поразбиравшись поняла, что проблема намного сложнее для меня чем казалось. Даже если этот запрос будет работать, то он будет открывать таблицу для чтения, в то время как нужно добавлять и изменять записи. Подскажите, уважаемые форумчане, в каком направлении вообще двигаться? Нужно обеспечить подключение к одной таблице нескольких пользователей (у каждого идет индивидуальная выборка записей). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2016, 17:51 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Некоторые наблюдения по теме тормозов. База работает с 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. Доступ только у СА. Переношу табличную часть на "свой сервер" - ого-го, работает, как на локалке. Ну почти. Пока не знаю, радоваться или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2017, 18:44 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vgrafinПереношу табличную часть на "свой сервер" - ого-го, работает, как на локалке. Скорее всего вы базу перенесли на абсолютно свободный комп (хоть и дохлый) вот и летает..., часто бывает что с базой на сервере предприятия работает максимум 5 человек, а сам сервак чем только не занимается в это время (и печать вся на нем, и домен и куча терминальных пользователей, и в гарант с консультантом все лезут на него и фаервол не дремлет), а ваша база там двадцатая в очереди на обработку ... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2017, 21:37 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vmag, уточнил - Samba на голяк, никому больше не прислуживает. Только 1С, но бухгалтерия не дымиться. Последняя крамольная мысль - к чёрту загруженные? незагруженные сервера - попробую на любой приличный неозадаченный комп. Как ранее не додумался? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 11:36 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vgrafin, сама база в каком формате Access? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 13:48 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
I2S, Пока всё .mdb, хотя 2003 офис уже перестал использоваться. Но от новых возможностей мне ничего не треба. И .ocx приходится доставлять на оф.10 и 13. На старый календарь сильно завязано. Зачем хорошие вещи выкидывать, лучше в хорошие руки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 14:54 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vmag и остальным исследователям. Включил диспетчер задач, Сеть. Верх ползёт по 1Гб/сек. Вызов Samba Даёт здоровенные секунды на 2 и приличный пик исходящего трафика. Запрос с моего - махонькие пики. Быстрое листание сложной формы даёт 1,2 -2мбит/с и 10-500кбит/с (счётчик На Win10). Ну, так, на глаз. Призабаво-с. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 15:30 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vgrafinБорьба с "опуханием" - устаревшие, но нужные данные выносятся в другую базу(archive.mdb), доступ по запросу, без прилинкованных таблиц. Подскажите как делается доступ по запросу в архивную базу без прилинкованых таблиц? Я в своё время отказался от сбрасывания в архивную базу и держу архивные таблицы в рабочей базе от чего "опухание" прогрессирует (уже 150 МБ). Причиной отказа была проверка ключевых полей сброшенных данных чтобы в случае возврата архивных данных в рабочие таблицы не нарваться на конфликт ключей. Поэтому при каждом создании записи проверяю максимальное значение ключа в рабочей и архивной базе и создаю на единицу больше (счётчикам не доверяю). А для проверки приходится держать поближе архивные таблицы. Оптимальность работы своей базы конечно оставляет желать лучшего. Но вот над разделением архивных от рабочих подумываю. Но как быстро и качественно делать проверку ключей в них? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2017, 19:59 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vgrafin, существует глюк (на своей шкуре испытал). База, созданная на 2000-2003 Аксе, после сжатия в Акс 2007 и далее теряет свою "скорострельность", такое впечатление, что перестает работать индексация. И только сжатие базы в родном Аксе восстанавливает эту лажу. Возможно Вы столкнулись с такой же ситуацией. Ну а после "лечения" надо снять галку "Автоматического сжатия". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 14:34 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vgrafin, а вообще то копайте в сторону открытых рекордсетов в базе данных. Прекрасно Акс работает с сетью, наговоры все это ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 14:37 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
GVOV, INSERT INTO tb_1 IN 'X:\Base\mybase.mdb' SELECT...; 'это делает конструктор SELECT tb_1.* FROM X:\Base\mybase.tb_1 tb_1; этого конструктор не создаёт и не понимает. Да, выгрузить и посмотреть не проблема, но необходимо хорошо знать структуру базы и способов её использования, что б понять, какие ухищрения подойдут. Можно делать сделать запрос на объединение, а прилинковку делать временную на время запроса. А на счёт возврата данных назад-много вопросов. Какие таблицы архивируются, нужно ли их потом редактировать, какова частота обращения к ним, архивируются ли справочные, таблицы, частями или целиком? А что делать тем у кого вставка в тот момент, когда таблицу напихали архивными данными. Вопросы, вопросы... У меня, например, есть справочные, таблицы, которые могут меняться(что б мусор не тащить).Если основное поле слишком длинное(название клиента -а он ни кому не нужен), есть доп. поле с короткой понятной аббревиатурой(уник.индекс). В архив я вставлю не ключ, а это поле. В архиве не нужно соединений, а клиента можно выкинуть, в запросе фильтром выбрать. Нереляционно, но работает. Размер архива мне как-то не очень. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 14:54 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Смешно читать, как народ вместо того, что бы перейти на SQL, продолжает набивать шишки и ищет себе проблемы на голову... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 15:30 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
vgrafinGVOV, INSERT INTO tb_1 IN 'X:\Base\mybase.mdb' SELECT...; 'это делает конструктор SELECT tb_1.* FROM X:\Base\mybase.tb_1 tb_1; этого конструктор не создаёт и не понимает. Да, выгрузить и посмотреть не проблема, но необходимо хорошо знать структуру базы и способов её использования, что б понять, какие ухищрения подойдут. Можно делать сделать запрос на объединение, а прилинковку делать временную на время запроса. А на счёт возврата данных назад-много вопросов. Какие таблицы архивируются, нужно ли их потом редактировать, какова частота обращения к ним, архивируются ли справочные, таблицы, частями или целиком? А что делать тем у кого вставка в тот момент, когда таблицу напихали архивными данными. Вопросы, вопросы... У меня, например, есть справочные, таблицы, которые могут меняться(что б мусор не тащить).Если основное поле слишком длинное(название клиента -а он ни кому не нужен), есть доп. поле с короткой понятной аббревиатурой(уник.индекс). В архив я вставлю не ключ, а это поле. В архиве не нужно соединений, а клиента можно выкинуть, в запросе фильтром выбрать. Нереляционно, но работает. Размер архива мне как-то не очень. Спасибо, относительно запросов понял. А чем прилинковка плохая в плане производительноти что её лучше делать временной? Я архивирую только данные без справочников. Они постоянно в рабочей базе (они не критично растут) но при попытке удаления из них данных проверяю наличие в архивных таблицах связей и не даю их удалять. Также использую Нереляционность для отсоединения связей (вообще база без связей, связи поддерживаю логикой приложения при добавлении, редактировании, удалении) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2017, 15:36 |
|
|
start [/forum/topic.php?fid=45&msg=39334707&tid=1612428]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 163ms |
0 / 0 |