Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

что за тормоза при работе с Jet.4   Найти похожие ветки 

 
AngeL B.   (2002-06-19 20:42) [0]

Что за беда. Надо добавить в таблицу ~700 записей. Машина мощная (Celeron 1200/256/40Gb(7200)). Всю проверку целостности на уровне *.mdb файла уже давно похоронил, но при добавлении скорость такая, что можно чаю попить (секунд где-то 20). Это совершенно неприемлимо, т.к. программа расчитана на медленные машины. Эта лечится или только на другие движки переходить?
Кто что знает, помогите.


 
wicked   (2002-06-19 22:09) [1]

имхо лучше перейти... я всегда говорил, что jet must die... :)


 
nick_sniper   (2002-06-19 22:11) [2]

Попробуй сделать так:
1. настройки ADOTable, должны быть:
CursorLocation: clUseServer
TableDirect: True
2. настройки ADOConnection, должны быть:
CursorLocation: clUseServer
3. Используй не Append а Insert - работает раз в 10 !!! быстрее
4. Используй формат Access2000 (jet3.6) а не формат Access97 (jet3.3) - глюков в несколько раз меньше.
5. Не забудь обновить свой Делфик - 5-й без обновления до SP2 с ADO криво работает

На твоей машине должно выполняться соединение 100-200 мс и вставка данных меньше чем 500 мс, т.е. итого меньше секунды.
Напиши как результат получился.


 
nick_sniper   (2002-06-19 22:18) [3]

Прошу прощения, Access97 - это jet3.5


 
nick_sniper   (2002-06-20 01:32) [4]

Ай, забыл, обязательно перед записью начни транзакцию, а после сделай ей "коммит". А то в автомате при каждой вставке поля она создается, т.е. у тебя ~700 раз.

wicked: а на что предложишь перейти? Мне, например, штуки типа MSSQL не надо - у меня задачи попроще и попробуйка на нескольких десятках клиентов ее понастраивать и посопровождать. Программировать будешь месяц и потом год с серверами возиться. Про BDE вообще лучше ни слова - глючней не придумаешь. Но мне нужна работа с базой через локалку (многопользовательская). Что можешь предложить?


 
wicked   (2002-06-20 09:51) [5]

2 nick_sniper ©
могу предложить interbase... :)
а вообще-то у тебя слегка привратное представление о mssql... я ставил и настраивал mssql в наших филиалах (18 штук), и, если бы не отчётность, то туда не было бы смысла даже появляться для обслуживания...
и программировать будет попроще, чем под jet - и синтаксис sql более свободный, и возможностей несравненно больше - хранимые процедуры, триггеры, возможность назначения определённых действий на определённое время и т. д...
в общем - сравнивать jet и mssql не стоит... в таком виде, как он есть, jet must die...


 
AngeL B.   (2002-06-20 11:00) [6]

2nick:
Класс, спасибо огромное. Скорость раз в 8 подскочила.
Есть только одно ограничение. В случае если таблица зависима и соединяется с мастерской, то она не может держать курсор на сервере. Говорит, что провайдер не поддерживает. Кстати, а какие могут быть подводные камни при серверном расположении курсора?


 
wicked   (2002-06-20 12:34) [7]

2 AngeL B.

> какие могут быть подводные камни при серверном расположении
> курсора?

их очень много... коротко могу сказать так - используй их только в том случае, когда без них не обойтись...
для выборок данных "на показ" и редактирование пользователю используй клиентские курсоры...


 
roottim   (2002-06-20 12:48) [8]

до сих пор немугу понять!.. где у аксеса сервер.. и в каком своем адресном прстранстве он хранит этот курсор?
:-)


 
nick_sniper   (2002-06-20 18:19) [9]

2 AngeL B.:
Согласен с wicked – серверные курсоры – это одна сплошная заморочка. Но скорость раза в два выше, особенно при вставке полей.

2 wicked:
Извини, я может слишком м-м-м… Но расклад таков: я сторонний производитель, т.е. мне платят определенную сумму за разработку программного продукта. Сюда же входит и стоимость годичного сопровождения проги. Административная часть стоит на головном предприятии. Если все будет нормально, то через месячишко буду делать новую версию и собираюсь ее перевести на серверную архитектуру. Видимо, вняв твоему совету, буду использовать MSSQL или Interbase. :-) Что посоветуешь ? Кстати, какие компоненты лучше всего использовать для доступа к ним? Заранее благодарен.
Но. Ставить у пользователей в каждом районе области (а это порядка 26-28 предприятий, и растояния там от 20 до 200 км), нет уж извините. Я тогда разорюсь на командировках. Может в будущем, если заказчик созреет и будет согласен платить денежку за такие прибамбасы…. Да там и надобности в таких наворотах нет (все-таки пользовательская программа значительно проще). Да и находятся там одни юсеры. Что-то случится – некому MSSQL настроить будет. Придется мне ехать.
Поэтому, мне элементарно финансово и практически выгоднее делать клиентские проги на ADOшке.


 
AngeL B.   (2002-06-21 09:49) [10]

2 nick_sniper
А где прочитать про эти заморочки. Ведь лом же переводить таблицу из одного состояния в другое.



Страницы: 1 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
3-47184
Bek
2002-06-15 14:34
2002.07.15
Отображение поля - Ole в делпфи


3-47098
konung2002
2002-06-21 13:34
2002.07.15
Связывание двух главных и одной дочерней таблиц


1-47353
nimble
2002-07-01 07:26
2002.07.15
ComboBox - Цвет


3-47200
Fiend
2002-06-19 17:24
2002.07.15
TADODataset XML TMemoryStream


14-47744
Song
2002-06-11 14:16
2002.07.15
Сегодня тут один сломал мою прогу, да ещё написал мне об этом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский