Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Access и SQLSeverExp - удивлен ))  [new]
2r0ck
Member

Откуда:
Сообщений: 57
Жутко тормозящую прогу (в качестве СУБД - Access) недавно перевел на SQLServerExpress и исправил несколько кусков кода. Так вот программа начала работать в раз 10 (!) быстрее- даже пришлось на загрузку проги ставить sleep(паузу) - чтобы показывалось окно приветствия (а не проскакивало) =) . Рефакторинг кода я еще не делал.. в коде особо ничего не менял - отсюда складывается вопрос: неужели Access настолько позади SQLServerExpress? Я ожидал прироста производительности, но что бы в 10 раз.... =) . Ваше мнение господа )
21 май 09, 13:03    [7208987]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
monsenior
Member

Откуда: Москва
Сообщений: 1132
2r0ck
Жутко тормозящую прогу (в качестве СУБД - Access) недавно перевел на SQLServerExpress и исправил несколько кусков кода. Так вот программа начала работать в раз 10 (!) быстрее- даже пришлось на загрузку проги ставить sleep(паузу) - чтобы показывалось окно приветствия (а не проскакивало) =) . Рефакторинг кода я еще не делал.. в коде особо ничего не менял - отсюда складывается вопрос: неужели Access настолько позади SQLServerExpress? Я ожидал прироста производительности, но что бы в 10 раз.... =) . Ваше мнение господа )

может всё дело в
автор
и исправил несколько кусков кода

автор
Правило - 80% оптимизации заключено в 20 кода!
21 май 09, 13:50    [7209419]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
2r0ck
Member

Откуда:
Сообщений: 57
monsenior, да нет.. все изменения были связаны с дизайном программы.. и улучшение эргономики интерфейса.
21 май 09, 14:06    [7209591]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
во как!!11
Guest
2r0ck
Жутко тормозящую прогу (в качестве СУБД - Access) недавно перевел на SQLServerExpress и исправил несколько кусков кода. Так вот программа начала работать в раз 10 (!) быстрее- даже пришлось на загрузку проги ставить sleep(паузу) - чтобы показывалось окно приветствия (а не проскакивало) =) . Рефакторинг кода я еще не делал.. в коде особо ничего не менял - отсюда складывается вопрос: неужели Access настолько позади SQLServerExpress? Я ожидал прироста производительности, но что бы в 10 раз.... =) . Ваше мнение господа )

вот одевал тапочки и бегать не мог, а как гипс сняли так в кроссовках и побежал! все дело в тапках! :)

к тому же вот это:
автор
Так вот программа начала работать в раз 10 (!) быстрее- даже пришлось на загрузку проги ставить sleep(паузу) - чтобы показывалось окно приветствия (а не проскакивало) =)

есть мнение, что если проблема в показывании окна приветствия, то БД ни причем тут ;)

хотя:
1) Для обработки данных Аксесс копирует к себе всю таблицу и потом на клиенте это все обрабатывается
2) Сервер обрабатывает данные сам

При разработке Аксессовских файл-серверных приложений крайне важно минимизировать объем передаваемых данных. Да, такая же рекомендация существует и для клиент-серверных приложений, однако в случае с Аксессом эта рекомендация имеет критическое значение.
Например если объем таблицы 20 Мб, то чтобы в Аксессе найти в ней какое-то значение, необходимо перед этим эти самые 20 Мб скопировать. ( LAN 100 Мбит/сек - скорость передачи ~12 Мбайт/сек => 2 секунды минимум потребуется только чтобы получить данные)
как-то так
21 май 09, 14:07    [7209602]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
При разработке ... файл-серверных приложений крайне важно минимизировать объем передаваемых данных.


Интересно, каким образом?!
21 май 09, 14:11    [7209640]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
во как!!11
Guest
2r0ck
Жутко тормозящую прогу (в качестве СУБД - Access)

тут думаю дело в:
а) самой спроектированной БД (нормализация/денормализация и прочее)
б) способе организации интерфейса
Для примера (с чем сам столкнулся):
Было в таблице поле. Поле со списком. Источник записей - значения того же поля, введенные ранее. То есть, при открытии поля со списком запускался запрос, который должен был прошерстить всю базу, выбрать все значения и сгруппировать их. Записей было много и открытие поля со список занимало ~3-5 секунд. Взамен этого была сделана служебная таблица с перечнем этих значений. Время открытия поля со списком стало менее секунды.
Таких полей со списком было несколько. Форма открывалась секунд этак 10-15. После оптимизации интерфейса в соответствии с особенностями механизма работы MS Access форма открывается 1-2 секунды. Как то так
21 май 09, 14:15    [7209673]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
во как!!11
Guest
pkarklin
автор
При разработке ... файл-серверных приложений крайне важно минимизировать объем передаваемых данных.


Интересно, каким образом?!

Думаю, вам повезло, вы не видели какие могут быть схемы интерфейсов и данных ;)
21 май 09, 14:16    [7209688]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
во как!!11
Guest
pkarklin
автор
При разработке ... файл-серверных приложений крайне важно минимизировать объем передаваемых данных.


Интересно, каким образом?!


F1
Примечание. Связать таблицу можно только в базе данных Microsoft Access, но не в проекте Microsoft Access.

Связанные таблицы используются как обычные таблицы в базе данных Microsoft Access, но следует помнить, что на самом деле они не находятся в базе данных Microsoft Access. Для каждого просмотра данные связанной таблицы извлекаются из другого файла. Это требует времени, особенно если связанная таблица находится в сети или в базе данных SQL.

Если связанная таблица хранится в сети или в базе данных SQL, следующие правила помогут получить наилучшие результаты.

Если оставлять открытыми связанные базы данных, то можно повысить производительность при открытии основной базы данных и при открытии таблиц и форм. Для этого необходимо создать пустую таблицу в связанной базе данных и связать ее с основной базой данных. Для открытия связанной таблицы используется метод OpenRecordset. Это предотвращает постоянное открытие и закрытие связанных баз данных, а также создание и удаление связанных файлов (с расширением LDB) ядром базы данных Microsoft Jet.
Просматривайте только необходимые данные. Не перемещайтесь без необходимости по экранам в режиме таблицы. В больших таблицах избегайте перехода к последней записи. Если требуется добавить в большую таблицу новые записи, выполняйте команду Ввод данных (меню Записи), чтобы не загружать в память существующие записи.
Применяйте фильтры или запросы, чтобы ограничить количество записей, просматриваемых в режиме формы или таблицы. В этом случае по сети передается меньше данных.
В запросах, включающих связанные таблицы, старайтесь не использовать функции в условиях отбора в запросе. Особенно избегайте в любых местах запроса применения статистических функций по подмножеству, таких как Dsum. При вызове статистической функции по подмножеству Microsoft Access для выполнения запроса загружает все данные из связанной таблицы.
Если приходится часто добавлять данные в связанную таблицу, создайте для добавления записей форму, у которой в свойстве Ввод данных (DataEntry) задано значение Да - сам не знал O_o . В этом случае в форме, открываемой для ввода данных, не выводятся существующие записи. Это экономит много времени, позволяя избежать загрузки записей из связанной таблицы.
Помните, что другие пользователи могут пытаться получить доступ к внешней таблице одновременно с вами. Если база данных Microsoft Access используется в сети, старайтесь не блокировать записи дольше, чем это необходимо.

и так далее.
21 май 09, 14:21    [7209733]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
2r0ck
Member

Откуда:
Сообщений: 57
во как!!11

есть мнение, что если проблема в показывании окна приветствия, то БД ни причем тут ;)

Именно ПРЯМОЕ ОТНОШЕНИЕ к БД ))) Просто при загрузке происходит аутентификация, загрузка пользовательских данных и пр. операции с базой ))
во как!!11

тут думаю дело в:
а) ....
б) способе организации интерфейса

Красивые блондинки работают быстрее, чем полные, лысые девушки... ???
Как эргономика интерфейса влияет на скорость работы программы? - она влияет на скорость работы пользователя с программой..
21 май 09, 14:26    [7209782]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
во как!!11

и так далее.


Интересно, и какое отношение это имеет к Вашему "При разработке Аксессовских файл-серверных приложений", если речь идет о связанных таблицах, что уже клиент\сервер и эти рекомендации применимы к разработке любого клиента для клиент серверной СУБД. Я спрашивал как можно "минимизировать объем передаваемых данных" в файл\серверной архитектуре. ;)
21 май 09, 14:30    [7209822]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
во как!!11
Guest
pkarklin

Интересно, и какое отношение это имеет к Вашему "При разработке Аксессовских файл-серверных приложений", если речь идет о связанных таблицах, что уже клиент\сервер и эти рекомендации применимы к разработке любого клиента для клиент серверной СУБД. Я спрашивал как можно "минимизировать объем передаваемых данных" в файл\серверной архитектуре. ;)

2r0ck

Красивые блондинки работают быстрее, чем полные, лысые девушки... ???
Как эргономика интерфейса влияет на скорость работы программы? - она влияет на скорость работы пользователя с программой..

А вот так! ;)
во как!!11

Для примера (с чем сам столкнулся):
Было в таблице поле. Поле со списком. Источник записей - значения того же поля, введенные ранее. То есть, при открытии поля со списком запускался запрос, который должен был прошерстить всю базу, выбрать все значения и сгруппировать их. Записей было много и открытие поля со список занимало ~3-5 секунд. Взамен этого была сделана служебная таблица с перечнем этих значений. Время открытия поля со списком стало менее секунды.
Таких полей со списком было несколько. Форма открывалась секунд этак 10-15. После оптимизации интерфейса в соответствии с особенностями механизма работы MS Access форма открывается 1-2 секунды. Как то так

а, каково! двух зайцев одним выстрелом! (то есть на два вопроса ответил одним примером! xD )
Как видим, в примере файл-серверной архитектуры был изменен способ организации интерфейса (формирования значений в поле со списком) - в итоге был получен PROFIT :)
21 май 09, 14:40    [7209919]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
во как!!11
Guest
pkarklin
во как!!11

и так далее.


Интересно, и какое отношение это имеет к Вашему "При разработке Аксессовских файл-серверных приложений", если речь идет о связанных таблицах, что уже клиент\сервер и эти рекомендации применимы к разработке любого клиента для клиент серверной СУБД. Я спрашивал как можно "минимизировать объем передаваемых данных" в файл\серверной архитектуре. ;)

обращаю ваше внимание на то, что в случае клиент-серверной архитектуры профит был бы гораздо меньше, так как данный запрос бы выполнялся на сервере без передачи по сети. ;)
как вам ответ? :)
21 май 09, 14:47    [7209989]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
2r0ck
Member

Откуда:
Сообщений: 57
во как!!11
[quot pkarklin]
а, каково! двух зайцев одним выстрелом! (то есть на два вопроса ответил одним примером! xD )
Как видим, в примере файл-серверной архитектуры был изменен способ организации интерфейса (формирования значений в поле со списком) - в итоге был получен PROFIT :)


Эргономика интерфейса это вам не Рефакторинг кода ))) - её нельзя бесконечно совершенствовать.... в конце концов пользователь(или дизайнер) все таки ставит условию к организации интерфейса... от которых отходить нельзя..вот так вот =)) )
21 май 09, 14:47    [7209994]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
во как!!11

а, каково! двух зайцев одним выстрелом! (то есть на два вопроса ответил одним примером! xD )
Как видим, в примере файл-серверной архитектуры был изменен способ организации интерфейса (формирования значений в поле со списком) - в итоге был получен PROFIT :)


Это не "способ организации интерфейса", а исправление тупых ошибок проектирования.
21 май 09, 14:55    [7210081]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
во как!!11
обращаю ваше внимание на то, что в случае клиент-серверной архитектуры профит был бы гораздо меньше, так как данный запрос бы выполнялся на сервере без передачи по сети. ;)
как вам ответ? :)


Да никак! Ибо "исправление существующей кривизны" проектирования никоим образом не влияет на саму архитектуру файл\сервер. :)
21 май 09, 14:56    [7210097]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
2r0ck
Member

Откуда:
Сообщений: 57
pkarklin
во как!!11

а, каково! двух зайцев одним выстрелом! (то есть на два вопроса ответил одним примером! xD )
Как видим, в примере файл-серверной архитектуры был изменен способ организации интерфейса (формирования значений в поле со списком) - в итоге был получен PROFIT :)


Это не "способ организации интерфейса", а исправление тупых ошибок проектирования.

=))) +1..
21 май 09, 14:57    [7210102]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
как!!11
Guest
pkarklin

Это не "способ организации интерфейса", а исправление тупых ошибок проектирования.

"тупая ошибка проектирования" может скрываться в "способе организации интерфейса" ;)
так что..
21 май 09, 15:37    [7210476]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
как!!11
"тупая ошибка проектирования" может скрываться в "способе организации интерфейса" ;)
так что..


Первый раз слышу, что способ получения набора данных для поля со списком - это "способ организации интерфейса".
21 май 09, 15:44    [7210550]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4510
2r0ck
во как!!11

есть мнение, что если проблема в показывании окна приветствия, то БД ни причем тут ;)

Именно ПРЯМОЕ ОТНОШЕНИЕ к БД ))) Просто при загрузке происходит аутентификация, загрузка пользовательских данных и пр. операции с базой ))
во как!!11

тут думаю дело в:
а) ....
б) способе организации интерфейса

Красивые блондинки работают быстрее, чем полные, лысые девушки... ???
Как эргономика интерфейса влияет на скорость работы программы? - она влияет на скорость работы пользователя с программой..

По моему опыту, все зависит как у вас организован интерфейс в Access'e, если формы и прочее основаны на на таблицах, то прироста практически нет, если же на запросах, которые выполняет сам SQL, то можно добиться и еще большей скорости...
21 май 09, 18:44    [7212075]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
как!!11
Guest
pkarklin
как!!11
"тупая ошибка проектирования" может скрываться в "способе организации интерфейса" ;)
так что..


Первый раз слышу, что способ получения набора данных для поля со списком - это "способ организации интерфейса".

а я считал по другому. В общем терминологический вопрос имхо. Или нет?
22 май 09, 08:40    [7213341]     Ответить | Цитировать Сообщить модератору
 Re: Access и SQLSeverExp - удивлен ))  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
как!!11
а я считал по другому. В общем терминологический вопрос имхо. Или нет?


По-моему, тут все довольно однозначно.
22 май 09, 08:45    [7213350]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить