Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];

Вниз

Оптимальное использование базы данных   Найти похожие ветки 

 
Ru   (2003-08-26 12:42) [0]

Как будет лучше (оптимальнее): подключаться к базе при необходимости или при запуске программы подключится к базе, а отсоединиться при выходе из приложения?


 
Anatoly Podgoretsky   (2003-08-26 12:46) [1]

А оптимальность какая интересует?


 
LVitaliy   (2003-08-26 12:48) [2]

При загрузки программы соединятся с базой.
можно поставить индикатор загрузки и открыть основные таблицы
только не много остольные по мере необходимости


 
Ru   (2003-08-26 12:51) [3]

>Anatoly Podgoretsky © (26.08.03 12:46) [1]

Меня интересует, что будет лучше для программы и для базы. С одной стороны, для увеличения сохранности базы (в Парадокс), мне советовали: подключайся по необходимости, с другой стороны если юзер м.д.к, то это неизлечимо.


 
VAleksey   (2003-08-26 12:51) [4]

Открыть только те таблицы, которые будут нужны от 60 до 100%. Остальные по необходимости.

PS

> Anatoly Podgoretsky ©

:-)))


 
Zacho   (2003-08-26 12:52) [5]


> Ru © (26.08.03 12:51) [3]

В каком смысле "лучше" ? А "для увеличения сохранности базы" - разницы никакой.


 
VAleksey   (2003-08-26 12:55) [6]


> Ru © (26.08.03 12:51)

В контексте вопроса данное замечание значения не имеет.


 
Ru   (2003-08-26 12:55) [7]

>Zacho © (26.08.03 12:52) [5]

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


 
Zacho   (2003-08-26 12:59) [8]


> Ru © (26.08.03 12:55) [7]

Какая потеря ? В случае отвала клиентского приложения просто откатятся все неподтвержденные транзакции. И не путаешь ли ты базы с таблицами ?


 
Ru   (2003-08-26 13:03) [9]

>Zacho © (26.08.03 12:59) [8]

У меня еще Парадоксовое мышление, так что могу путать.

Как правильнее, лучше, удобнее (мне как программисту удобнее открыть раз и не трогать больше и плевать на мнение юзеров) работать с базами Interbase?


 
Sandman25   (2003-08-26 13:06) [10]

Ru
C Interbase обычно лучше использовать TQuery, а не TTable.
Заканчивайте с Парадоксовским мышлением :)


 
VAleksey   (2003-08-26 13:08) [11]


> Ru © (26.08.03 12:55)

Какая потеря ??
Делай соммит почаще.


 
Zacho   (2003-08-26 13:16) [12]


> Ru © (26.08.03 13:03) [9]

При запуске программы - подключиться к БД. Отключится - само, при завершении :)
А термина "открыть" таблицу (не базу, а именно таблицу) здесь просто нет. Можно открыть какой-либо датасет в приложении. Возможно, именно это тебя интересует ?

> Sandman25 (26.08.03 13:06) [10]

А еще лучше - не пользоваться BDE вообще.


 
Ru   (2003-08-26 13:22) [13]

IBX которая в D6.
Приконектился с помощью IBDataBase, подключаюсь IBDataSet.
Так что это не имеет значения, то есть до верхней части ноги все?


 
Sandman25   (2003-08-26 13:23) [14]

Zacho © (26.08.03 13:16)

Согласен. Только все равно IBQuery обычно больше подходит, чем IBTable, именно это я и имел ввиду :)


 
MsGuns   (2003-08-26 13:35) [15]

Если Парадокс и через BDE, то "средство от лома" такое.

1. Не давать редактить в DB-Aware компонентах.
2. Все коррекции в таблицах выполнять запросами (TQuery)
3. Не редактить через TTable
4. Не вшивать бизнес-логику (в частности ограничения целостности) через DeskTop, а реализовывать ее программно алгоритмикой проверок
5. Перед вставкой записей проверять наличие ключей
6. Не менять первичные ключи - только вставки или удаление
7. Перед открытием первой таблицы делать проверку корректности всей БД и в случае поломки "поднимать" ее из архива. (Для сети несколько посложнее тактика, но стратегия та же)


 
Ru   (2003-08-26 13:37) [16]

Всем спасибо. Отбой.


 
ZrenBy   (2003-08-26 13:39) [17]

>>MsGuns © (26.08.03 13:35) [15]

8. Реализовать протоколирование действий с БД и
дозапись протокола во вчерашний бэкап


 
MsGuns   (2003-08-26 13:49) [18]

>ZrenBy © (26.08.03 13:39) [17]

Ну это уже вааааащееее ;))))


 
Anatoly Podgoretsky   (2003-08-26 13:55) [19]

Оптимизация возможна только по одному парметру/критерию, ты его не привел
Если оптимизируешь скорость, то тратишь реусры и наоборот.
В многопользовательской среде - золотое правило не держать ресурсы дольше, чем это необходимо, но это в ущерб скорости.


 
VAleksey   (2003-08-26 14:00) [20]


> MsGuns © (26.08.03 13:35)

При всем уважении небольшая критика с комментариями.
1) ???? После редактирования сбросьте буфер dbiSaveChanges.
2) Если при запросе мы получим исключение по индексу, то вполне вероятно налетим на то, что индексы вообще рухнут.
3) См. пункт 1.
4) Абсолютно согласен.
5) Если редактировать ч/з TTable, то необязательно, а вот в случае с Query, то ОБЯЗАТЕЛЬНО.
6) Немного не понял, но интуитивно согласен :-) ;-).
7) см. Пункт 4.


 
Ru   (2003-08-26 14:03) [21]

>Anatoly Podgoretsky © (26.08.03 13:55) [19]

Для однопользовательской базы моего размера это не так важно. InterBase вроде позволяет множеству пользователей работать с базой так как им хочется (не позволяя выполнять одновременно более одной транзакции).

У меня по примеру:
можно записать Button56.Caption:=...
а можно и btnExecProcMyProc.Caption:=...
Принципиальной разницы нет, но считается, что второй вариант "лучше".


 
Zacho   (2003-08-26 14:08) [22]


> Ru © (26.08.03 14:03) [21]
> InterBase вроде позволяет множеству пользователей работать
> с базой так как им хочется (не позволяя выполнять одновременно
> более одной транзакции).

Не правильно. Одновременно может быть запущено сколько угодно транзакций, в том числе в контексте одного подключения. Другое дело, что все запросы в контексте одного подключения будут выполняться последовательно (и не важно, в одной транзакции или нет).



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

Форум: "Базы";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.013 c
1-48599
StrinGrid
2003-09-03 16:36
2003.09.15
Программно выделим ячейку


14-48742
DProg
2003-08-26 16:55
2003.09.15
Компоненты для построения диаграмм типа UML диаграмм классов


11-48487
microlab
2003-01-06 19:26
2003.09.15
TKOLListView


1-48572
Evgeniy_K
2003-09-04 11:14
2003.09.15
Модуль


3-48413
eds
2003-08-25 17:40
2003.09.15
Есть ли у кого нибудь демка по работе с TreeView компонентом?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский