Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Большой размер .exe - файла [D7, MS Access]


Gromozeka ©   (2007-04-02 07:24:00) 

Здравствуйте!
Для доступа к файлу file1.mdb(размер <2 Mb) использую ADO,
Provider=Microsoft.Jet.OLEDB.4.0.
После компиляции размер программы в памяти составляет > 13 Mb.
прога простая - навигация и поиск в БД.
Почему такой размер исполняемого файла и можно ли как-нибудь оптимизировать прогу для его уменьшения?
Спасибо.


Sergey13   (2007-04-02 11:54:00) [1]

> [16] Карелин Артем ©   (02.04.07 11:41)

А при чем тут кэш?


Карелин Артем   (2007-04-02 11:45:00) [2]


> Jan1   (02.04.07 11:37) [15]

Да!


Карелин Артем   (2007-04-02 11:41:00) [3]


> Sergey13 ©   (02.04.07 11:33) [14]

Кэш он и на сервере кэш. Только на сервере он больше значительно.


Jan1   (2007-04-02 11:37:00) [4]


> Ну хотя-бы потому что количество записей ограничивается
> ключевыми словами типа top или first перед звездочкой.

в акцесе?

2 автор:
а оно того стоит? при сегодняшних-то ОЗУ?


Sergey13   (2007-04-02 11:33:00) [5]

> [13] Карелин Артем ©   (02.04.07 11:20)

А место для отбора записей ему не нужно?


Карелин Артем   (2007-04-02 11:20:00) [6]

Не ересь. Но хороший движок все записи держать в памяти не будет


Sergey13   (2007-04-02 10:52:00) [7]

> [11] Карелин Артем ©   (02.04.07 10:47)

Ладно, перепишу.
select * from table where (условие, возвращающее некоторое количество записей)
Так не ересь?


Карелин Артем   (2007-04-02 10:47:00) [8]


> Sergey13 ©   (02.04.07 09:46) [10]

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


Sergey13   (2007-04-02 09:46:00) [9]

> [9] Карелин Артем ©   (02.04.07 09:42)

В чем ересь то? Ты пытался его выполнить? 8-)


Карелин Артем   (2007-04-02 09:42:00) [10]


> Sergey13 ©   (02.04.07 09:41) [8]

Будешь докапываться, скажу что > select * from table where количество_записей=1000это ересь.


Sergey13   (2007-04-02 09:41:00) [11]

> [6] Карелин Артем ©   (02.04.07 09:30)
Сама таблица ничего не считает. Считает движок доступа к данным. А он находится на клиенте.


Виталий Панасенко   (2007-04-02 09:32:00) [12]

Курсор НД на клиенте ? Если да, поменяй на  "на сервере", может поможет


Карелин Артем   (2007-04-02 09:30:00) [13]


> Sergey13 ©   (02.04.07 09:17) [5]

Файловая таблица считает сколько ей сказали.


Sergey13   (2007-04-02 09:17:00) [14]

> [4] Карелин Артем ©   (02.04.07 09:11)

По моему есть разница если сказать серверу и файлу
select * from table where количество_записей=1000
Сервер прикатит эту 1000 и все, а файловая таблица откроется вся (если сильно упрощать) и отфильтруется программой (движком).


Карелин Артем   (2007-04-02 09:11:00) [15]


> Sergey13 ©   (02.04.07 08:56) [3]

Сервер-не сервер... Открытый набор данных в обоих случаях лежит в памяти клиента.
Я понимаю, когда у меня полгига памяти откусывает программа, если я ей говорю вывести все данные за 4 года по всему холдингу с сервера MS SQL


Sergey13   (2007-04-02 08:56:00) [16]

> [2] Gromozeka ©   (02.04.07 08:49)

Потому, ИМХО, что мускул какой-никакой сервер, а аксес - просто файл и все манипуляции с данными делает клиент.


Gromozeka   (2007-04-02 08:49:00) [17]

Ну когда делаю подобное под MySQL, то размер не более 8 метров, и то это редкость


Sergey13   (2007-04-02 08:40:00) [18]

Наверное открыты большие датасеты + всякие сортировки/фильтрации в программе.
А что, 13 метров памяти - это много? Всего то наверное не 32 и уж тем более не 16.


Наверх

Титульная страница Поиск, карта сайта Написать письмо