Текущий архив: 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