Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2008, 17:50   #1
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
Вопрос если БД занимает ОЗУ?

Здравствуйте, уважаемые программисты!
У меня к Вам очередной вопрос.
Дело в том, что у меня БД в аксессе размером примерно 500 метров и когда я запускаю своё приложение, которое подключено к этой же БД, то комп довольно жутко начинает тормозить из-за не хватки оперативы. Я понимаю, что для некоторых людей вопрос может оказаться смешным, но тем неменее...
Насколько мне известно, все, что я запускаю - загружается в ОЗУ и поидее так и должно быть. Но у меня есть аналогичная программа (созданная неизвестным героем), которая тоже использует свою БД созданную в перадоксе, размером 400 с лишним метром и когда я ее запускаю, то она почти "летает". Почему такое возможно и как можно избавится от моих тормозов (имеет ли значение в чем создана БД)?
фЁдОр вне форума Ответить с цитированием
Старый 05.01.2008, 02:46   #2
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

В чем написана база - это имеет значение. Попробуйте в InterBase или MySQL написать базу.. ДУмаю, что разница будет ощутима.
Вообще Access жрет много ресурсов. Вернее сказать, технология такая медленная. ОЗУ Аccess жрет около 12 метров .
Ххотя если машина вообще древняя,то DBF - форева
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 05.01.2008 в 02:54.
Pitbull вне форума Ответить с цитированием
Старый 05.01.2008, 09:22   #3
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Ххотя если машина вообще древняя,то DBF - форева
В том то и дело, что машина у меня обычная, рабочая:
AMD Athlon(tm) Processor
3000+
1.80 GHz, 480 MB of RAM

Неужели мне свою пол гиговою базу надо перегонять в DBF, что бы избавиться от тормозов? Может есть какие-либо другие варианты?
Р.S.: это что же получается - многие хвалят и хвалят аксесс, а дело доходит до размеров, то тогда получается, что парадокс лучьше использовать?

Последний раз редактировалось фЁдОр; 05.01.2008 в 16:36.
фЁдОр вне форума Ответить с цитированием
Старый 06.01.2008, 16:41   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
это что же получается - многие хвалят и хвалят аксесс
На мой взгляд, его хвалят только юзеры, с грехом пополам освоившие работу с мелкософтовским офисом.
Там ведь программировать не надо, используешь стандартную систему управления и все - ты великий создатель баз данных...
А по поводу скорости ее работы очень верно было сказано. Собственно, а чего еще ожидать, если все программы офиса ведут себя как беременные гиппопотамы?
mihali4 вне форума Ответить с цитированием
Старый 06.01.2008, 17:01   #5
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

эхх, снова переделывать придётся
mihali4 - Вы как-то выразились, что работали с очень большими БД, посоветуйте, пожалуйста, какую лудьше использова СУБД?
Я, конечно, понимаю, что очень хороша SQL Server 200x, но мне нужно, что бы любой пользователь мог у себя на машине поставить моё приложение, котороё работает с БД (не будет же еще и дополнительно устанавливать SQL Server 200x).
Всё бы ничего и ведь почти заканчивал свою программу, но видимо всё же из-за того, что у меня БД (объёмом примерно в 500 метров) создана в аксессе жутко тормозит.
Неужели все переделывать под парадокс ?
фЁдОр вне форума Ответить с цитированием
Старый 07.01.2008, 01:14   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Самое простое - Парадокс. Правда, у него есть существенный недостаток - низкая надежность. Индексные файлы "ломаются" по любому поводу, а частенько - из безо всякого повода.
Другой вариант - штатный, прилагаемый к Дельфи Интербэйс (можете спокойно отлаживать в локальном варианте, а если возникнет необходимость перейти на клиент-сервер, то просто перенаправите с локального на сетевой сервер). Весьма надежная вещь, но слабовата для систем с большим количеством пользователей. И локальный сервер занимает немного места.
MSSQL - наверное, избыточна для вас. Это то же самое (ни в коем случае не хочу обидеть вас или вашу программу), как если бы на Запорожец поставить движок от Феррари формулы-1...
Еще одно соображение. Если у вас программа использует Table, то естественно, каждая открытая таблица "висит" в памяти целиком, даже если вы отфильтруете всего одну, нужную вам запись. А если перейти только на квэрики, то памяти нужно будет гораздо меньше. А уж если вы будете пользоваться сторед-процами, то и "быстроходность" улучшится.

Последний раз редактировалось mihali4; 07.01.2008 в 01:22.
mihali4 вне форума Ответить с цитированием
Старый 07.01.2008, 11:16   #7
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Самое простое - Парадокс. Правда, у него есть существенный недостаток - низкая надежность. Индексные файлы "ломаются" по любому поводу, а частенько - из безо всякого повода.
Другой вариант - штатный, прилагаемый к Дельфи Интербэйс (можете спокойно отлаживать в локальном варианте, а если возникнет необходимость перейти на клиент-сервер, то просто перенаправите с локального на сетевой сервер). Весьма надежная вещь, но слабовата для систем с большим количеством пользователей. И локальный сервер занимает немного места.
MSSQL - наверное, избыточна для вас. Это то же самое (ни в коем случае не хочу обидеть вас или вашу программу), как если бы на Запорожец поставить движок от Феррари формулы-1...
Еще одно соображение. Если у вас программа использует Table, то естественно, каждая открытая таблица "висит" в памяти целиком, даже если вы отфильтруете всего одну, нужную вам запись. А если перейти только на квэрики, то памяти нужно будет гораздо меньше. А уж если вы будете пользоваться сторед-процами, то и "быстроходность" улучшится.
mihali4-большое спасибо Вам за неоценимое пояснение! Значит будем все переделывать под Интербэйс, правда я никогда с ним ещё не работал , но заодно и научусь !
Я считаю, что Ваша информация является весьма ВАЖНОЙ для всех людей, которые только начинают работать с БД.
Да, еще чуть не забыл - для подключениям к таблицам, я использовал только кверики и вот эта фраза:
Цитата:
будете пользоваться сторед-процами
поясните, пожалуйста. Что значит сторед-процами?
фЁдОр вне форума Ответить с цитированием
Старый 07.01.2008, 21:18   #8
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
mihali4-большое спасибо Вам за неоценимое пояснение! Значит будем все переделывать под Интербэйс, правда я никогда с ним ещё не работал , но заодно и научусь !
Я считаю, что Ваша информация является весьма ВАЖНОЙ для всех людей, которые только начинают работать с БД.
Да, еще чуть не забыл - для подключениям к таблицам, я использовал только кверики и вот эта фраза:

поясните, пожалуйста. Что значит сторед-процами?
Да, Модераторы здесь умные челы... Тут без вопросов... Вопрос не мне, но попробую объяснить.... Процедуры нужны для снятия нагрузки с клиентской машины и с сети.... Тоесть процедура выполняется на серваке, а клиенту возвращается только результат. Процедура либо выполняется полностью, либо возвращается сообщение об ошибке.

В процедуре можно добавить данные, исправить(т.е все , что в обычном запросе)....
ADOStoredProc1 - компонент АДО.
IBStoredProc1 - для Interbase.
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 09.01.2008, 08:34   #9
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Pitbull - спасибо и Вам, что разъяснили и дали понять, что надо использовать!
фЁдОр вне форума Ответить с цитированием
Старый 10.01.2008, 21:57   #10
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
Pitbull - спасибо и Вам, что разъяснили и дали понять, что надо использовать!
Та всегда пожайлуста...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если функция ЕСЛИ не подходит Katherina_Koval Microsoft Office Excel 1 25.07.2008 19:09
Как вывести изображение из paintbox на принтер, если оно занимает 2 экрана? aleksei199 Общие вопросы Delphi 8 25.06.2008 14:00
cтранная запись формулы ЕСЛИ: "=+ЕСЛИ(..." icore2008 Microsoft Office Excel 4 10.04.2008 21:32
Как узнать с какого по какой адрес занимает процесс в системе. kalexi Win Api 2 30.03.2008 15:48
Количество оперативной памяти которое занимает программа werser Помощь студентам 1 03.02.2008 02:22