|
|
|
SQL Server + MS Access - 2000. Блокировка записей.
|
|||
|---|---|---|---|
|
#18+
АлексейК, я тебе кране признателен за советы, материализовавшиеся, в частности, в готовом коде. И за предложение пояснить этот код не меньше. Не сомневаюсь, что через некоторое время воспользуюсь твоей любезностью. Наверное, уже по мэйлу, чтобы остальным не надоедать. Или лучше здесь? А до сих пор не воспользовался советом я по самым стандартным для непрофессионального программиста причинам: врожденный консерватизм, страшный перегруз остатков мозга (трудно резко перескочить на новый подход когда свободной оперативки остался 1 Кб), необходимость срочного решения проблемы. По привычным рельсам всегда проще ехать, хотя это далеко не всегда правильно. Но сегодня выяснил, что, по всей видимости, получу "добро" на перевод всего и вся в ADP. Тогда всех здесь замучаю:)) Еще раз спасибо всем, кто принял участие в обсуждении проблемы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2004, 15:43 |
|
||
|
SQL Server + MS Access - 2000. Блокировка записей.
|
|||
|---|---|---|---|
|
#18+
авторпосле получения по запросу набора записей (rs) в виде DAO.Recordseta вставил строчку rs.MoveLast. И только потом присвоил форме этот рекордсет. Эффект вышел такой: скорость выборки, само собо, заметно упала, зато НИКАКИХ блокировок. Данные вводятся асболютно без тормозов. О как, вообще-то детали смотреть надо, Но попробуй - может MoveFirst - тоже лечит? - если да - "устаканишь" производительность. а вопрос 3 - умер по дороге - а следы остались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2004, 15:53 |
|
||
|
SQL Server + MS Access - 2000. Блокировка записей.
|
|||
|---|---|---|---|
|
#18+
И почему это запрос не отрабатывает полностью за положенное время, а продолжает "держать" таблицу... MoveFirst сейчас попробую, хотя меня терзают смутные сомненья. Ожидаю, что этот фокус не пройдет. Я так понял, что серверу хочется, чтобы кто-ниубудь на весь запрос полюбовался прежде чем "отпускать" записи. Хотя я пробовал без "MoveLast-а" руками прокручивать записи в форме. "Отпускает" где-то на второй половине набора, т.е. до самого "ласта" добираться не надо. Понять бы в какой момент это происходит... И еще есть опасность развития шизофрении. Когда одной рукой на одном ПК одного пользователя изображаешь, а второй рукой на соседнем - второго:)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2004, 16:25 |
|
||
|
SQL Server + MS Access - 2000. Блокировка записей.
|
|||
|---|---|---|---|
|
#18+
Сделал окончательную ерунду. Заменил rs.MoveLast на rs.FindFirst ("ID_записи=") & DMax("ID_записи", "ОсновнаяТаблицаПоиска") Эффект замечательный. Скорость выборок повысилась раз в 5-6. Причем с выборками работают одновремнно 5 человек (больше не удалось собрать). А двое в максимально быстром режиме вводят и редактируют. Все происходит без заметных задержек. Пришел к таким выводам. При поиске максимального идентификатора происходит "прокурчивание" рекордсета. Так же, как и при MoveLast, но поскольку ID - PK числового формата, то прокрутка происходит несоразмеримо быстрее. Бред какой-то... Но ведь работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2004, 18:22 |
|
||
|
SQL Server + MS Access - 2000. Блокировка записей.
|
|||
|---|---|---|---|
|
#18+
вот было бы совсем хорошо, если бы еще опубликовал, как рекордсет открываешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2004, 18:30 |
|
||
|
SQL Server + MS Access - 2000. Блокировка записей.
|
|||
|---|---|---|---|
|
#18+
Dim rs as DAO.Recordset Set rs = CurrentDb.OpenRecordset(strSql, dbOpenSnapshot) (Дальше та самая строчка с поиском максимального ИД) А потом: Set Me.Recordset = rs ------------------- strSql - это собранная по кусочкам строка запроса: "Select ... " dbOpenSnapshot - для перестраховки. Само по себе не помогало. ------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2004, 20:18 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32440631&tid=1676122]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 449ms |

| 0 / 0 |
