powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Локировка записей???
22 сообщений из 22, страница 1 из 1
Локировка записей???
    #32176034
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В локальной сети есть компьютер Comp1.
На нём лежит db1.mdb, c 1 таблицей Table1, содержащей 50000 записей.

На компьютере Comp2 есть db2.mdb, в которой есть LINK к Table1.
На компьютере Comp3 есть db3.mdb, в которой есть LINK к Table1.

1)Из db2 (Comp2) открываем таблицу Table1 (время открытия где-то 1 сек.).
2)Далее из db3 (Comp3) открываем таблицу Table1 (время открытия ОКОЛО 10 СЕК!!! )

3)Открываю в db1 таблицу Table1 , находясь на компьютере Comp3 (открывается моментально!!!)

(Конфигурация одинаковая, Access2000, mdac 2.7)

Не могу понять почему ссылка на табл. работает медленнее, чем прямое обращение к ней :(
...
Рейтинг: 0 / 0
Локировка записей???
    #32176051
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Не могу понять почему ссылка на табл. работает медленнее, чем прямое обращение к ней :(

ODBC. Япона мать!
...
Рейтинг: 0 / 0
Локировка записей???
    #32176076
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это как-то можно побороть?
...
Рейтинг: 0 / 0
Локировка записей???
    #32176082
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Сенин Виктор
Вроде аксес не дает через одбц к мдб цепляться? Только jet-овские соединения. Так что одбц ни при чем.

2 AlTis
Ты как с третьего компа базу открываешь? Лезешь через сеть на комп1, открываешь мдб и открываешь таблицу? Так когда ты файл открываешь - он у тебя весь и читается (в крайнем случае кэшируется на сервере) со всем его содержимым. В том числе и с таблицей. Вот она и открывается моментально. А через линк - он по сети данные по чуть-чуть тянет.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176090
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лох Позорный
Можно что-то сделать для увеличения производительности?
...
Рейтинг: 0 / 0
Локировка записей???
    #32176157
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лоху
>Вроде аксес не дает через одбц к мдб цепляться?
Код: plaintext
1.
2.
Встроенные драйверы
Access содержит встроенные драйверы, позволяющие импортировать, экспортировать или связывать следующие типы данных: базы данных Microsoft Access , проекты Microsoft Access, файлы Paradox, dBASE, Microsoft Excel, Lotus  1 - 2 - 3 , Microsoft Exchange, Microsoft Outlook, текстовые файлы с фиксированной шириной полей, текстовые файлы с разделителями и HTML.


>Только jet-овские соединения. Так что одбц ни при чем.

Причем. Если я правильно (?) понял следующие выдержки из MSDN
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Note   The DAO database classes are distinct from the MFC database classes 
based on Open Database Connectivity (ODBC). All DAO database class names have 
the “CDao” prefix. You can still access ODBC data sources with the DAO classes; 
the DAO classes generally offer superior capabilities because they are specific to 
the Microsoft Jet database engine.

...

The DAO-based classes access data through the Microsoft Jet database engine, including ODBC drivers.

...

ODBC (Open Database Connectivity)
A standard protocol that permits applications to connect to a variety of external 
database servers or files. ODBC drivers used by the Microsoft Jet database engine 
permit access to Microsoft SQL Server and several other external databases. 


Поправте меня, плиз, если я не прав (что возможно) или хреново перевожу (чтоочень возможно) :)
...
Рейтинг: 0 / 0
Локировка записей???
    #32176238
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел точнее
Код: plaintext
1.
2.
3.
4.
5.
6.
Microsoft Office  2000  Supported Data Formats and Installed OLE DB Providers
Microsoft

January  1999 
...
ODBC drivers When linking from or importing to an Access database (.mdb):  


Т.е. если есть линкованная таблица - значит используется ODBC через Jet.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176304
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Сенин Виктор
В аксесе естьь встроенные драйвера к mdb, xls, dBase и т.п. Это НЕ то же самое что одбц драйвера к этим же вещам.
Через одбц можно цепляться к MS SQL например ("...access to Microsoft SQL Server and several other external databases..."), а вот к аксесу - только через встроенные драйвера. Не пытался конектиться через одбц ко всяким парадоксам, дибейсам и аксесам других версий, но есть предположение что тоже только через встроенные драйвера.
Через одбц можно конектится ко всему (хоть ко вселенскому разуму), но не из аксеса.

2 AlTis
Сетка какая?
...
Рейтинг: 0 / 0
Локировка записей???
    #32176322
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Через одбц можно конектится ко всему (хоть ко вселенскому разуму), но не из аксеса.

А как же
Встроенные драйверы
Access содержит встроенные драйверы, позволяющие импортировать, экспортировать или связывать следующие типы данных: базы данных Microsoft Access
....


Вопрос котрый меня сейчас волнует: когда делается линковка таблиц Mdb+mdb - что используется? ОДБЦ?
Пока нашел что прилинковке идет работы все-таки через ОДБЦ.
Если можешь - просвети. И если можно, выдержки из хелпов.

Просто пытаюсь понять что лучше: использовать CurrentProject.Connection для ссылки на линкованную таблицу либо использовать свой Кнектион для прмого указания таблицы с данными. Если линковка идет через ОДБЦ - то это лишний тормоз. Но в любом случае буду сравнивать на опытных данных.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176354
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ааа ... нашла коса на камень )))

кстати очень интересно если кому нибудь удастся выбрать конфигурацию драйвера - строку подключения ADO при которой будет достигнуто максимальное быстродействие.

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


а вот мысль если очень сложные запросы размещать в исходной базе и линковаться уже к запросу будет ли выигрыш?
...
Рейтинг: 0 / 0
Локировка записей???
    #32176359
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос котрый меня сейчас волнует: когда делается линковка таблиц Mdb+mdb - что используется? ОДБЦ?
Вобще-то я не уверен на все 100, но считаю что НЕ одбц. Выдержки из хелпов не приведу, но ведь и в твоих выдержках нигде не сказано что "встроенные драйвера"=одбц? Просто некий "встроеный драйвер". Так написано, так оно и есть (имхо). И наоборот, если говорится про одбц - нигде не пишется что с его помощью можно конектиться к мдб. Вроде так? Или кинь в меня куском хелпа где слова одбц и мдб вместе встречаются.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176366
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>а вот мысль если очень сложные запросы размещать в исходной базе и линковаться уже к запросу будет ли выигрыш?

Нет. Будет проигрыш. Если ты имел ввиду сохраненый запрос в базе с данными.

Но вот будет ли выигрыш, если подключаться напрямую к базе и в CommanText указать колбасятину которая вовзращает нужные данные? Т..е используя только напрямую таблицы из файла сданными и ничего и з интрфейсной части (сохраненых запросов, своих функций)
Это надо пробовать на больших объемах.
Буду пробовать. Раскажу потом.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176433
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал на 0,5 миллионе записей
Поиск через Seek/Find по PrimaryKey
Одна хрень.
Seek - на собственной локальной таблице от 0 до 10 мс
Seek - на удаленной табдлице открытие напрямую 10 мс
Find - на линкованной таблице от 4100 до 5000 мс
Find - открытие напрямую удаленной таблицы 4100-4400 мс

Сейчас попробую поиск по индексированному уникальному текстовому полю

З.Ы.
Не очень-то я эксперементы ставить умею.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176442
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лох Позорный
Сетка 100 мегабитная.
Может я что не так сформулировал....
1 пользователь откр. прилинкованную табл. практически моментально, но когда эту же табл. пытается откр. 2-ой пользователь, начинаются тормоза.
Если 1 польз. подключен и 2-ой откр. табл. по сетке (комп->БД->табл.), то табл. открывается моментально.

Вопрос:как 2-ум пользователям обратиться к прилинкованной табл. с максимальным быстродействием. (может настройки локировок, ODBC, ещё что-то.....????) Помогите.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176451
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОчЯпятка:Seek - на удаленной табдлице открытие напрямую 50мс


Seek - на собственной локальной таблице от 0 до 10 мс
Seek - на удаленной табдлице открытие напрямую 60 мс
Find - на линкованной таблице от 4200 до 4300 мс
Find - на локальной собственнйо таблице первый запуск 21220 (затем по 1100)
Find - открытие напрямую удаленной таблицы 5400-5700 мс
...
Рейтинг: 0 / 0
Локировка записей???
    #32176454
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2AlTis

А что значит "открывает"?
как? код покажи
...
Рейтинг: 0 / 0
Локировка записей???
    #32176482
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может тормоза связаны с блокировками которых ты не делаешь открывая рекордсет только для чтения?
...
Рейтинг: 0 / 0
Локировка записей???
    #32176500
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭТО ТОЛЬКО ПРЕДПОЛОЖЕНИЕ !!!!

при использовании линкованной таблицы для формы или локальных операций runsql, запросы, dlookup
1. драйвер для обеспечения защиты от грязного чтения накладывает блокировку на всю таблицу.
2. вытягивает заблокированные записи
3. снимает блокировку

если самым тягомотным является наложение блокировок (все-таки запись куда-то!!!) то предположение может оказаться верным

отсюда будет вывод не пользоваться запросами и линкованными таблицами а делать все через ado c указанием типа блокировки
...
Рейтинг: 0 / 0
Локировка записей???
    #32176557
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Senin Viktor
Открытие табл. не програмно, а просто в окне БД.
При открытии програмно то-же самое

Код: plaintext
1.
2.
3.
4.
dim td as DAO.Tabledef
dim rs as DAO.Recordset
     set td=CurrentDb.TableDefs( "Table1" )
     set rs=td.OpenRecordset
...
Рейтинг: 0 / 0
Локировка записей???
    #32176591
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК
отсюда будет вывод не пользоваться запросами и линкованными таблицами а делать все через ado c указанием типа блокировки
... и перейти на MS SQL Server
Согласно Дейту хорошая СУБД должна накладывать мягкую блокировку для любой записи которую ты читаешь. И жесткую для любой которую пишешь. ADO/DAO/таблица/запрос - роли не должно играть. Аксес действительно накладывает блокировки даже при чтении, и действительно не зависит от способа чтения. Указание типа блокировки для ADO - влияет только на блокировку при записи.

3. снимает блокировку
Только при закрытии набора/таблицы/запроса. AlTis - попробуй это проверить. Т.е. при закрытии 1-м пользователем таблицы тормоза у 2-го исчезают или нет?
...
Рейтинг: 0 / 0
Локировка записей???
    #32176666
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Лох Позорный
Да, тормоза исчезают.
Проделал несколько экспирементов с 2-3 подключениями.
Даже если табл. пустая время открытия неудоволетворительное.
...
Рейтинг: 0 / 0
Локировка записей???
    #32176697
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего проблемы при обращении к файлу ldb (это только предположение).
Надо мониторить сервак.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Локировка записей???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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