0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 4
|
|
1 | |
Разделение серверной части приложения - влияние на быстродействие!07.11.2013, 18:47. Показов 1432. Ответов 9
Метки нет (Все метки)
Добрый день, уважаемые коллеги!
Помогите с экспертной оценкой! Есть приложение на Access. Данные хранятся в одном файле mdb на общем диске. У пользователей установлена клиентская часть с формами, запросами. Одновременно с программой работают в среднем около двадцати пользователей. База данных около 200 Мб. И частенько уже хромает быстродействие. Но не все таблицы в базе данных на сервере используются одинаково часто. Есть ряд массивных таблиц, к которым обращаются редко. Вопрос: поможет ли повысить быстродействие, если разделить базу данных на сервере, например, на два файла (вынести в отдельный файл массивные но редко используемые таблицы)? Спасибо!
0
|
07.11.2013, 18:47 | |
Ответы с готовыми решениями:
9
Создание серверной части приложения Проектирование серверной части приложения баз данных Udp протокол, изменение цвета формы серверной части приложения Нужен программист для написания серверной части мобильного приложения |
Модератор
|
|
07.11.2013, 18:56 | 2 |
каковы основные потребности этих 20 пользователей
--мелкая справка(1-2 листа) на выбор --большая справка по количеству записей или расчетов --КОРРЕКТИРОВКА что делают с выборкой --просто смотрят или печатают --сохраняют в ексель какой режим поиска перед выборкой --просмотр списков --произвольный
0
|
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 4
|
|
07.11.2013, 19:10 [ТС] | 3 |
Приложение это у меня по принципу CRM-систем. Ядро базы данных - таблица с перечнем клиентов. Остальные таблицы различное инфо о клиентах (контакты, задачи, счета, инфо о доходности). Больше всего пользователи работают с задачами (ставят задачу, редактируют, заносят результат).
Часть, которую хотел бы вынести в отдельный файл, это таблицы с данными о доходности клиентов. Инфо раз в месяц обновляется из других систем. Пользователи могут только просматривать это инфо и формировать отчет в Excel. Одновременно пользователь может работать с информацией по одному клиенту.
0
|
07.11.2013, 20:13 | 4 |
а не проще мигрировать в таком случае на MS sql? 20 пользователей 200 мб, там уже сам движек будет определять прерогативы доступа и использования таблиц, ускорение получите минимум на порядок выше, а то и более и дальнейшее администрирование лучше будет проходить.
0
|
1302 / 508 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
07.11.2013, 20:37 | 5 |
в коммерческих целях если использовать, то лучше на другое что-нибудь переходить, так как согласно лицензии в мускуле при использовании есть мелкие неувязочки на сколько я знаю. Например использовать firebird (полностью бесплатен для виндовс), если база будет по локалке только, без веба
1
|
07.11.2013, 21:03 | 6 |
а чем MS SQL Express edition плох? там уже все готово и в отличие от всех остальных может быть сконекчен с Access, да и графическое построение легко осилить, единственное требование это виндовс сервер, но судя по тому что ранее указывалось об общем ресурсе сетевом, то скорее всего там все уже готово.
1
|
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 4
|
|
08.11.2013, 16:26 [ТС] | 7 |
Планирую мигрировать на MS SQL. Но вряд ли это быстро получится - для меня MS sql тема новая. Пробовал использовать встроенный мастер преобразования в формат SQL Server, но заработало с большими глюками. Видимо нужно будет перебирать код, а кода в программе уже не мало.
Поэтому и ищу временное решение для повышения быстродействия.
0
|
17486 / 7248 / 1651
Регистрация: 21.06.2012
Сообщений: 13,864
|
|
08.11.2013, 17:00 | 8 |
Клиентская часть лежит на их компьютерах? Тогда поставьте сервер по мощнее (пара Ксеонов 8 ядерных, база на SAS, можно для ОС SSD поставить). Все пользователи работают в режиме терминал-сервер, их интерфейсы лежат в отдельных папках на сервере. Да и для будущего использования SQL такой сервер и такой режим работы только лучше будет.
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
09.11.2013, 15:04 | 9 |
200 мегов совсем не тот объем, который может серьезно затормозить работу. По моему опыту тормоза, в порядке влияния, такие:
1. Неудачная структура БД, при которой в запросы вынужденно входят медленно считаемые структуры. Например, в условие Where запросов входит структура типа [поле] in (select [поле] ...). Или в запросах, опять таки вынужденно входит большое количество таблиц. Сортировки в больших запросах также могут хорошо попортить жизнь. 2. Неверная установка индексов или их отсутствие. Или соединение таблиц в запросах не по индексным полям. Или условие запросов составлено так, что индексы не могут использоваться. 3. Формы с обилием списков или полей со списком. Особенно, когда в источнике списков большое количество записей. Формы с таким багажом еле поворачиваются. 4. Большое количество мусора в базе. Надо чистить.
0
|
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 4
|
|
11.11.2013, 16:27 [ТС] | 10 |
mobile, спасибо за советы!
Действительно программа постоянно дорабатыватся, дописывается новый функционал, добавляются окна, и далеко не всегда это делается оптимально. Еще вот пришла мысль делить данные на оперативные и архивные. Например, история показателей доходности клиентов за текущий год используется и востребована чаще - хранится в одной таблице. За предыдущие годы - в архивной.
0
|
11.11.2013, 16:27 | |
11.11.2013, 16:27 | |
Помогаю со студенческими работами здесь
10
Подскажите хостинги для расположения серверной части(клиент-серверного приложения) .Net Core 3 Влияние большого количества папок на быстродействие Написание серверной части Архитектура серверной части Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |