Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически)
Текущее время: 22.11.2024 15:16

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: О быстродействии программы
СообщениеДобавлено: 15.06.2016 16:23 
Не в сети

Зарегистрирован: 06.10.2014 18:30
Сообщения: 279
Откуда: Орел
Предлагаю высказаться о повышении быстродействия программы.
Что влияет? Как повысить скорость?

Исходные данные:
- Пара табличек (представлений) с количеством записей под 100 000 и десяток маленьких под 1 000 по 20-30 полей.

Мои соображения:
1. SQL Express
2. SQL ставить на сервере.
3. Сеть ГигаБит
4. По умолчанию текстовые поля сделанные из программы имеют длину 255 и тип nvarchar. Уменьшить до необходимой длинны и поменять тип на char
5. Базу на сервере хранить на отдельном диске. Его периодически дефрагментировать. Базу периодически сжимать.
6. Объем ОЗУ на клиенте влияет?

п. 5 думаю мало полезен.

По моему наблюдению тормоз возникает именно при большом количестве записей, а не от вычисляемых полей.
Причем 90% тормозов возникает при установленном флажке "Сохранять текущую запись после сортировке и фильтрации". Момент когда в статусе пишется "Поиск [...]
Причем я предполагаю что если оптимизировать код, то этого можно избежать.

В одном из форумов писалось:

"Не используйте вычисляемые поля в таблице qdfMain, а если можно вообще без них обойтись"

Меня смутило упоминание таблицы qdfMain. Она в этом плане особенная?
Вычисляемые поля считаются на сервере и тут затыков быть не должно вроде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: О быстродействии программы
СообщениеДобавлено: 15.06.2016 22:14 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Просто задать фильтр для таблицы со 100 000 записей, например "Дата добавления = Текущий год", возвращающий единицы тысяч.
И пусть он по умолчанию всегда включен, вряд-ли ведь вам нужно искать что-то в старье и работать с ним часто обычно не требуется.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: О быстродействии программы
СообщениеДобавлено: 22.08.2016 13:51 
Не в сети

Зарегистрирован: 03.02.2016 11:05
Сообщения: 16
Смею с Вами не согласиться.

картотека пациентов за 100 000. и она всегда главная.
и ходят через год и два и три.

отбор работает по-тяжелому, чистишь поле быстрый поиск и опять пару минут висяк.
а с Обследованиями вообще труба - их уже более 700 000. отбор жесточайший, причем на самом серваке, а он не слабый: Core i5 3GHz, 32 GB DDR3, OS и база на SSD, SQL 2008 Enterprise.
давно просил об оптимизации, но что-то и на последние запросы - тишина!!!
плывем по течению и ждем чудес!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: О быстродействии программы
СообщениеДобавлено: 22.08.2016 14:00 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Когда просили? Что-то не припомню я обращений по оптимизации. У вас MS SQL Server? Какие фильтры задаете? По каким полям, конкретно? Можно проиндексировать те или иные поля. А, когда речь про производительность, то нужно видео снимать и нам в поддержку присылать.

Цитата:
5. Базу на сервере хранить на отдельном диске.

Причем, желательно, чтобы это был современный быстрый SSD-диск SanDisk.

Цитата:
3. Сеть ГигаБит

Надо монитором сети отследить, перегружается ли пропускная способность сети. Выяснить "слабое звено" нужно.

А еще можно настроить Profiler, с помощью которого отслеживать все поступающие запросы на MS SQL Server от приложения, и вполне возможно, что вы где-то будете находить дублирование одних и тех же запросов повторно и другие неэффективности... по факту возникновения которых нам можно сообщать вместе с видео, и мы будем совершенствовать наше ПО.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: О быстродействии программы
СообщениеДобавлено: 26.09.2016 23:10 
Не в сети

Зарегистрирован: 06.10.2014 18:30
Сообщения: 279
Откуда: Орел
Uspenskiy писал(а):
4. По умолчанию текстовые поля сделанные из программы имеют длину 255 и тип nvarchar. Уменьшить до необходимой длинны и поменять тип на char


Уменьшение длины строки работает, а вот изменение на тип char НЕТ!
Проверял с базой SQL.
При добавлении записи в таблицу дает ошибку.

Поэтому этим советом пользоваться нельзя.
Или пользоваться только для таблиц в которые не добавляются записи из программы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: О быстродействии программы
СообщениеДобавлено: 26.09.2016 23:32 
Не в сети

Зарегистрирован: 06.10.2014 18:30
Сообщения: 279
Откуда: Орел
CTACKRI писал(а):
отбор работает по-тяжелому, чистишь поле быстрый поиск и опять пару минут висяк.


У меня тормозит когда стоит флаг "Сохранять текущую запись после сортировке и фильтрации".
Тормозит когда происходит обновление информации на экране.
В том числе при автообновлении таблицы (то же флаг)

Также большие тормоза при установленном флаге "Делать выборку возможных значений для фильтров" тут не просто тормоз, а почти полный останов минут на пять.

В остальном вроде ничего. Терпимо.

В таблице "Пациенты" 43000 записей и 21 поле. В таблице "Услуги" 70 000 и 16 соответственно.

А у Вас как флаги стоят и когда тормозит?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB