Форум: "Базы";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
ВнизБольшой размер .exe - файла Найти похожие ветки
← →
Gromozeka © (2007-04-02 07:24) [0]Здравствуйте!
Для доступа к файлу file1.mdb(размер <2 Mb) использую ADO,
Provider=Microsoft.Jet.OLEDB.4.0.
После компиляции размер программы в памяти составляет > 13 Mb.
прога простая - навигация и поиск в БД.
Почему такой размер исполняемого файла и можно ли как-нибудь оптимизировать прогу для его уменьшения?
Спасибо.
← →
Sergey13 © (2007-04-02 08:40) [1]Наверное открыты большие датасеты + всякие сортировки/фильтрации в программе.
А что, 13 метров памяти - это много? Всего то наверное не 32 и уж тем более не 16.
← →
Gromozeka © (2007-04-02 08:49) [2]Ну когда делаю подобное под MySQL, то размер не более 8 метров, и то это редкость
← →
Sergey13 © (2007-04-02 08:56) [3]> [2] Gromozeka © (02.04.07 08:49)
Потому, ИМХО, что мускул какой-никакой сервер, а аксес - просто файл и все манипуляции с данными делает клиент.
← →
Карелин Артем © (2007-04-02 09:11) [4]
> Sergey13 © (02.04.07 08:56) [3]
Сервер-не сервер... Открытый набор данных в обоих случаях лежит в памяти клиента.
Я понимаю, когда у меня полгига памяти откусывает программа, если я ей говорю вывести все данные за 4 года по всему холдингу с сервера MS SQL
← →
Sergey13 © (2007-04-02 09:17) [5]> [4] Карелин Артем © (02.04.07 09:11)
По моему есть разница если сказать серверу и файлу
select * from table where количество_записей=1000
Сервер прикатит эту 1000 и все, а файловая таблица откроется вся (если сильно упрощать) и отфильтруется программой (движком).
← →
Карелин Артем © (2007-04-02 09:30) [6]
> Sergey13 © (02.04.07 09:17) [5]
Файловая таблица считает сколько ей сказали.
← →
Виталий Панасенко © (2007-04-02 09:32) [7]Курсор НД на клиенте ? Если да, поменяй на "на сервере", может поможет
← →
Sergey13 © (2007-04-02 09:41) [8]> [6] Карелин Артем © (02.04.07 09:30)
Сама таблица ничего не считает. Считает движок доступа к данным. А он находится на клиенте.
← →
Карелин Артем © (2007-04-02 09:42) [9]
> Sergey13 © (02.04.07 09:41) [8]
Будешь докапываться, скажу что > select * from table where количество_записей=1000 это ересь.
← →
Sergey13 © (2007-04-02 09:46) [10]> [9] Карелин Артем © (02.04.07 09:42)
В чем ересь то? Ты пытался его выполнить? 8-)
← →
Карелин Артем © (2007-04-02 10:47) [11]
> Sergey13 © (02.04.07 09:46) [10]
Ну хотя-бы потому что количество записей ограничивается ключевыми словами типа top или first перед звездочкой.
← →
Sergey13 © (2007-04-02 10:52) [12]> [11] Карелин Артем © (02.04.07 10:47)
Ладно, перепишу.
select * from table where (условие, возвращающее некоторое количество записей)
Так не ересь?
← →
Карелин Артем © (2007-04-02 11:20) [13]Не ересь. Но хороший движок все записи держать в памяти не будет
← →
Sergey13 © (2007-04-02 11:33) [14]> [13] Карелин Артем © (02.04.07 11:20)
А место для отбора записей ему не нужно?
← →
Jan1 (2007-04-02 11:37) [15]
> Ну хотя-бы потому что количество записей ограничивается
> ключевыми словами типа top или first перед звездочкой.
в акцесе?
2 автор:
а оно того стоит? при сегодняшних-то ОЗУ?
← →
Карелин Артем © (2007-04-02 11:41) [16]
> Sergey13 © (02.04.07 11:33) [14]
Кэш он и на сервере кэш. Только на сервере он больше значительно.
← →
Карелин Артем © (2007-04-02 11:45) [17]
> Jan1 (02.04.07 11:37) [15]
Да!
← →
Sergey13 © (2007-04-02 11:54) [18]> [16] Карелин Артем © (02.04.07 11:41)
А при чем тут кэш?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c