Страница 1 из 2

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 15:19
talgat55
Промежуточные таблицы вывожу в tps файлы ( записей 30000 ) - Щас борюсь за скорость расчетов - лучше в очередь загонять такие записи ? Или есть ограничения по кол-ву записей ?

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 16:04
Yufil
Можно для начала не портить алгоритм, а в tps использовать монопольный режим записи, команду Stream или, возможно, Logout-Commit ( скажем, делать транзакцию на 2-3 тысячи записей). Может быть, и этого хватит? Да, ещё временный файл лучше у себя на компе держать, а не на сервере. Как ни странно, в несколько раз ускориться можно.

И да, конечно, 30000 записей для очереди - пустяк. А ещё есть Inmemory драйвер...

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 16:10
talgat55
Понял. И в догонку работаю с ms sql хочу понять какой оператор быстрее в кларе- get ( по ключу ) или select через prop ?

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 16:15
Yufil
Дык, сервер в любом случае выполнит Select. Причём в случае Get кларионовский ключ будет использоваться для формирования Select, а на самом сервере этого ключа может не быть. Get по ключу дёрнет все поля, а через Prop можно и выбрать...

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 16:37
talgat55
Принято. О другом. У меня все работают с программой через удаленные раб. столы на серваке. Если программу поместить у клиента - то расчеты с sql таблицами ( которые на серваке ) почему-то - занимают больше времени чем через RDP

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 17:00
Yufil
И тут понятно. При выполнении расчётов программы комп клиента может быть тормознее сервера, а запросы и данные для расчётов перегоняются по сетке от сервера клиенту.

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 17:24
PavelNK
Если запрос написан грамотно, то через PROP однозначно будет быстрее, причем, возможно, значительно. Запусти Profiler и увидишь разницу в выполнении, можешь замерить время выполнения в Клаше

с6.3 ABC Временные файлы

Добавлено: 20 Июль 2017, 20:56
kreator
talgat55 писал(а): 20 Июль 2017, 16:37 Принято. О другом. У меня все работают с программой через удаленные раб. столы на серваке. Если программу поместить у клиента - то расчеты с sql таблицами ( которые на серваке ) почему-то - занимают больше времени чем через RDP
Это скорее неправда. Если канал слабый, то да, естественно, rdp быстрее. А если, скажем, это локальная сеть, то разницы нет. Более того, при работе с SQL рекомендуется минимизировать трафик. Например, загонять все подзапросы в один огромный запрос. Я соглашусь, что неоптимизированный броуз будет заметно медленнее при работе без rdp. Но, повторюсь, это при слабом канале.

с6.3 ABC Временные файлы

Добавлено: 21 Июль 2017, 10:20
finsoftrz
talgat55 писал(а): 20 Июль 2017, 15:19Промежуточные таблицы вывожу в tps файлы ( записей 30000 ) - Щас борюсь за скорость расчетов - лучше в очередь загонять такие записи ? Или есть ограничения по кол-ву записей ?
В очередь значительно быстрее. Я давным давно экспериментировал, прирост производительности формирования отчетов весьма приличный, даже если запись в tps производить одной порцией через logout/commit. Поэтому изначально отказался от временных tps. Заодно не надо лишних структур прописывать в словаре.

с6.3 ABC Временные файлы

Добавлено: 21 Июль 2017, 10:22
finsoftrz
kreator писал(а): 20 Июль 2017, 20:56
talgat55 писал(а): 20 Июль 2017, 16:37 Принято. О другом. У меня все работают с программой через удаленные раб. столы на серваке. Если программу поместить у клиента - то расчеты с sql таблицами ( которые на серваке ) почему-то - занимают больше времени чем через RDP
Это скорее неправда. Если канал слабый, то да, естественно, rdp быстрее. А если, скажем, это локальная сеть, то разницы нет. Более того, при работе с SQL рекомендуется минимизировать трафик. Например, загонять все подзапросы в один огромный запрос. Я соглашусь, что неоптимизированный броуз будет заметно медленнее при работе без rdp. Но, повторюсь, это при слабом канале.
Тут не надо ничего придумывать. Попробуйте поработать через интернет в обоих вариантах и увидите разницу.

с6.3 ABC Временные файлы

Добавлено: 21 Июль 2017, 10:49
finsoftrz
Сорри, невнимательно прочитал. На локальной сетке все то же самое, но может быть не так заметно на глаз. Огромный запрос улучшает производительность. Но написание , отладка и сопровождение таких запросов весьма трудоемко.

с6.3 ABC Временные файлы

Добавлено: 21 Июль 2017, 11:01
talgat55
Да запрос-то по сути один - select посещений в поликлинике всех за диапазон дат- результат во временный sql файл -потом его Loop- ом прохожу

с6.3 ABC Временные файлы

Добавлено: 21 Июль 2017, 11:52
kreator
talgat55 писал(а): 21 Июль 2017, 11:01 Да запрос-то по сути один - select посещений в поликлинике всех за диапазон дат- результат во временный sql файл -потом его Loop- ом прохожу
У Вас локальная сеть или через интернет и т.д.?

с6.3 ABC Временные файлы

Добавлено: 21 Июль 2017, 12:23
talgat55
Локальная

с6.3 ABC Временные файлы

Добавлено: 21 Июль 2017, 13:03
Yufil
А в SQL-базе есть ключик по датам? А то в Кларионовской программе есть, а в SQL-отнюдь, вот и лопатит всю базу...