версия 2.0.5: сводный прайс — весь одним запросом (быстрее при всех прайсах)
LoadPrice дробил прайс на страницы по 20000, а сервер на каждую страницу заново прогонял тяжёлую оконную дедупликацию + COUNT. При всех подключённых прайсах (~52к позиций) это ~6-7с. Тянем всё одним запросом → один прогон (~1.2с). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e8357bab1e
commit
cc2c128cb2
@ -3,7 +3,7 @@
|
||||
|
||||
#define MyAppName "Электронная Фармация"
|
||||
#define MyAppBrand "ЭльФиСА"
|
||||
#define MyAppVersion "2.0.4"
|
||||
#define MyAppVersion "2.0.5"
|
||||
#define MyAppPublisher "PharmData"
|
||||
#define MyAppURL "https://cdn.24pharmdata.ru"
|
||||
#define MyAppSupportURL "https://24pharmdata.ru"
|
||||
|
||||
@ -5,9 +5,9 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
||||
<Version>2.0.4</Version>
|
||||
<AssemblyVersion>2.0.4.0</AssemblyVersion>
|
||||
<FileVersion>2.0.4.0</FileVersion>
|
||||
<Version>2.0.5</Version>
|
||||
<AssemblyVersion>2.0.5.0</AssemblyVersion>
|
||||
<FileVersion>2.0.5.0</FileVersion>
|
||||
<Product>ЭльФиСА — Электронная Фармация</Product>
|
||||
<Company>PharmData</Company>
|
||||
<!-- Кросс-платформенная публикация задаётся флагами CLI (RID + self-contained). -->
|
||||
|
||||
@ -61,9 +61,10 @@ public partial class LoadPriceViewModel : ViewModelBase
|
||||
ProgressText = "Соединение с сервером…";
|
||||
|
||||
var all = new List<PriceItem>();
|
||||
// Большая страница: сервер на каждый запрос заново прогоняет тяжёлый
|
||||
// сводный запрос, поэтому одна большая страница в разы быстрее десятков мелких.
|
||||
const int page = 20000;
|
||||
// Весь прайс одним запросом: сервер на КАЖДЫЙ запрос заново прогоняет тяжёлую
|
||||
// оконную дедупликацию (и COUNT для total), поэтому дробление на страницы
|
||||
// умножает нагрузку. Одна большая страница = один прогон = в разы быстрее.
|
||||
const int page = 500000;
|
||||
int offset = 0, total = 0;
|
||||
|
||||
while (true)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user