|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Подскажите, умные люди, что надо сделать, чтобы при работе со связанными таблицами по локальной сети аксес работал быстрее? Ведь сеть то и не загружается практически (смотрел в диспетчере задач - загрузка сети всего 2-3%). Может где-то что-то можно оптимизировать в настройках сети или где, не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 11:55 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Видимо больше времени уходит на обработку данных, а не на их пересылку по сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 12:42 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
WyfingerВидимо больше времени уходит на обработку данных, а не на их пересылку по сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 12:48 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
WyfingerВидимо больше времени уходит на обработку данных, а не на их пересылку по сети. На локальном компе обработка происходит намного быстрее. Как только размещаю таблицы на другой комп - включаються тормоза, хотя сеть не загружается и комп тоже достаточно мощный. Не понимаю, что хочет аксес. Может можно как-то обмануть систему, чтобы она думала, что это локальные таблицы??? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 12:52 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
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)". Но почему-то по сети это происходит ужасно медленно. Хотя загрузка сети низкая. Как заставить сеть работать с большей загрузкой? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 13:01 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
а ты загрузку сети где смотришь? надо смотреть по крайней мере на том компе, где база лежи ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 13:08 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
у вас походу излишки оборудования. поставьте 2 сетевых карты по 0,5-1 Mbit. на развалах они еще встречаются. в крайнем случае 10МBit. и сеть будет нагружена помаксимуму. если не поможет, поковыряйте настройки сетывых карточек, быстродействие можно понизить даже на уровне драйвера. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 13:09 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Albatrossа ты загрузку сети где смотришь? надо смотреть по крайней мере на том компе, где база лежиСмотрю загрузку сети на машине, где обрабатываю данные - 2-3%. На машине, где данные лежат, не смотрел, но посмотрю, правда, не сегодня. Но думаю, что и там сеть не грузится до потолка. Да что тут говорить, вся база - около 700 MB, её перекачать намного быстрее, чем открыть и работать по сети. Проблема остается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 13:26 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Ban Me!у вас походу излишки оборудования. поставьте 2 сетевых карты по 0,5-1 Mbit. на развалах они еще встречаются. в крайнем случае 10МBit. и сеть будет нагружена помаксимуму. если не поможет, поковыряйте настройки сетывых карточек, быстродействие можно понизить даже на уровне драйвера.Спасибо. Не надо умничать. Хочу, чтобы во время обработки данных сеть грузилась до 100%, чтобы я видел, что проблема действительно в сети, а то сеть не загружена, а работает медленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 13:29 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
работает медленно Access, сеть работает быстро. я вам предожил понизить быстродействие сети, дабы проинформировать общественность о реальном потреблении сетевых ресурсов _в вашем случае_ для вашей базы. то есть по сути провести исследование на предмет влияния ширины сетевого потока на производительность самого Accessa, когда захлебывается акс, когда сеть, какие оптимальные параметры выбрать для золотой середины. чтобы не переплачивать за сетевые карты лишних денег. 2-3 % вы сказали. 97% цены выпереплатили.. ответ то очевиден. Вы обратились авторПодскажите, умные люди, что надо сделать - вам подсказывают, а вы упрямитесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 13:44 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
вам подсказывают, а вы упрямитесь.[/quot]То есть проблема только в аксес? Я тут где-то вычитал недавно " вообще для сетевого использования mdb необходимо правильно настроить сетку. в реестр правильно прописать пареметры TCPIP (максимальный размер окна и прочее) для любопытства можно посмотреь в диспетчере задач загрузка сети (по отдельности полученные и переданные байты - это настраиваетс) загрузка проца сравнить с локальным вариантом когда и данные и клиент на одном компе соотнести загрузку сети и проца по времени " Думал, может кто-то подскажет поподробнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 13:58 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Я хочу понять, в чём причина плохой работы аксес по сети, если сеть не загружается, то что происходит? Куда деваются ресурсы системы? Почему на локальном компе работает быстро? Может можно аксесу чем-то "помочь"? Неужели нет никакого выхода кроме перехода на sql-сервер. Слышал, есть возможность заставить систему думать, что СЕТЕВОЙ ДИСК - ЛОКАЛЬНЫЙ. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 14:08 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
авторЯ хочу понять, в чём причина плохой работы аксес по сети, если сеть не загружается, то что происходит? Куда деваются ресурсы системы? Почему на локальном компе работает быстро? Может можно аксесу чем-то "помочь"? Неужели нет никакого выхода кроме перехода на sql-сервер. Слышал, есть возможность заставить систему думать, что СЕТЕВОЙ ДИСК - ЛОКАЛЬНЫЙ. 1. Возмите 100 файлов и разместите их на сетевом ресурсе. Скопируйте из себе на копм, замерив время операции 2. Теперь скопируйте 100 файлов локально ну себя на компе, замерив время операции. 3. Сравните время операций п1 и п2. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 14:36 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
netstat[quot автор]1. Возмите 100 файлов и разместите их на сетевом ресурсе. Скопируйте из себе на копм, замерив время операции 2. Теперь скопируйте 100 файлов локально ну себя на компе, замерив время операции. 3. Сравните время операций п1 и п2. Когда я копирую файлы по сети, то я вижу, что сеть загружается на 100%. А когда работает аксес по сети, то сеть занята всего-то на 3% и работает медленно. Если бы сеть была загружена по максимуму, была бы понятна причина медленной работы - сеть. Но сеть то свободна, а почему-то именно при работе по сети тормозит. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 14:43 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
у меня та жа проблема...что же нужно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2007, 20:04 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Когда я копирую файлы по сети, то я вижу, что сеть загружается на 100%. А когда работает аксес по сети, то сеть занята всего-то на 3% и работает медленно. Если бы сеть была загружена по максимуму, была бы понятна причина медленной работы - сеть. Но сеть то свободна, а почему-то именно при работе по сети тормозит. Ну забейте больше данных в базу, тогда при вытаскивании их с удалённой машины вы увидите как нагрузится сеть. Найдите золотую зередину объёма данных когда сеть будет нагружена на 100% и работайте с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2007, 14:42 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
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.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2007, 15:12 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Загоняйте Фсе в терминал или цитрикс - и будет Вам ускорение достатчно хорошее даже при одновременной работе нескольких пользователей ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2007, 12:39 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
LamazoidЗагоняйте Фсе в терминал или цитрикс - и будет Вам ускорение достатчно хорошее даже при одновременной работе нескольких пользователейтакими запросами, какие он тут пишет, он и терминал просадит по полной. Хотя они лехко переписываются в более оптимальном виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2007, 12:43 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Всем спасибо за поддержку. И всё таки я так и не услышал ответа, почему на локальном компе работает быстро (ну скажем в раз 5-10 быстрее) , а по сети тормозит, хотя, кам мы тут разобрались, причина не в скорости сети. Тогда в чём? У аксеса, наверно, изначально заложено "тормозить" при работе по сети. А возможно его обмануть? Пускай думает, что это локальный диск. Может кто подскажет, есть какие-то варианты эмуллировать локальный диск вместо сетевого? Слышал про какую-то "самбу". Может кто-то что-то знает?. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2007, 21:41 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
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)" Оптимизируйте, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2007, 22:00 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
Вот так, раза в полтора, два быстрее должно быть 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2007, 00:12 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2007, 15:23 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
ЗЫ: вместо 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.
и присоединить его слева по полю f1 и f2 к вашей таблице, подребовав непустость хотя-б одного из присоединений. Это гарантирует, что этот "опорный" запрос будет посчитан не более 2х (думаю - что и 1-го) раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2007, 15:30 |
|
ускорить работу access в локальной сети
|
|||
---|---|---|---|
#18+
да, чуть не забыл. В вашем случае даже примитивные Exists(SELECT ) как правило работают быстрее IN(Select ...). Но это так, к слову - т.к. особенность конкретного оптимизатора, а не мат. необходимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2007, 15:45 |
|
|
start [/forum/topic.php?fid=45&fpage=75&tid=1612428]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 373ms |
total: | 503ms |
0 / 0 |