@@ -88,22 +88,21 @@ Help:
8888
8989Режим | отдельные поля | вся сущность | вся сущность + UF_*
9090--- | --- | --- | ---
91- сортировка, подсчёт количества элементов в выборке | 0.1724 | 1.9875 | 2.3136
92- сортировка, без подсчёта количества элементов в выборке | 0.1173 | 1.3289 | 1.476
93- сортировка по умолчанию, подсчёт количества элементов в выборке | 0.0936 | 0.926 | 1.0272
94- сортировка по умолчанию, без подсчёта количества элементов в выборке | 0.0362 | 0.2701 | 0.2688
91+ сортировка, подсчёт количества элементов в выборке | 0.3786 | 2.6767 | 3.1891
92+ сортировка, без подсчёта количества элементов в выборке | 0.3125 | 1.745 | 1.956
93+ сортировка по умолчанию, подсчёт количества элементов в выборке | 0.3129 | 1.3176 | 1.523
94+ сортировка по умолчанию, без подсчёта количества элементов в выборке | ** 0.2241 ** | ** 0.458 ** | ** 0.4858 **
9595
96- # ## Чтение 6000 элементов — отдельные поля \ вся сущность \ вся сущность + пользовательские поля
96+ # ## Чтение 2700 элементов в batch-режиме отдельные поля \ вся сущность \ вся сущность + пользовательские поля
9797
98- В данном примере используются batch-запросы, которые выбирают данные чанками по 2500, 2500 и 1000 элементов. Сами батч запросы реализуются
99- сервисом ` Bitrix24\S DK\C ore\B atch` Время — секунды, округление до 4 знаков.
98+ Сами запросы строятся сервисом ` Bitrix24\S DK\C ore\B atch` Время — секунды, округление до 4 знаков.
10099
101100Режим | отдельные поля | вся сущность | вся сущность + UF_*
102101--- | --- | --- | ---
103- сортировка, подсчёт количества элементов в выборке | 17.8018 | 239.8081 | 274.9921
104- сортировка, без подсчёта количества элементов в выборке | ** not implemented ** | ** not implemented ** | ** not implemented **
105- сортировка по умолчанию, подсчёт количества элементов в выборке | 8.2121 | 110.0122 | 125.7331
106- сортировка по умолчанию, без подсчёта количества элементов в выборке | ** not implemented ** | ** not implemented ** | ** not implemented **
102+ сортировка, подсчёт количества элементов в выборке | 19.7924 | 131.3065 | 168.753
103+ сортировка, без подсчёта количества элементов в выборке | 27.0083 | ** 30.8689 ** | ** 32.6827 **
104+ сортировка по умолчанию, подсчёт количества элементов в выборке | ** 14.3636 ** | 70.5149 | 79.5987
105+ сортировка по умолчанию, без подсчёта количества элементов в выборке | 26.5045 | 31.1381 | 33.8329
107106
108107# # Подготовка тестового окружения
109108
@@ -115,8 +114,8 @@ Help:
1151141. В текущей версии статьи в портале было 100к элементов в сущности, эта ситуация характерна для небольшого количества порталов
1161152. Замеры производились когда на портале отсутствовала операционная нагрузка характерная для рабочего дня
1171163. По возможности старайтесь избегать выборки всех данных
118- 4. Сортировка данных при больших выборках тоже слишком дорогая операция
119- 5. В roadmap SDK будет добавлена задача на поддержку batch-запросов в режиме «отключенный подсчёт количества» элементов, сейчас там
120- указано ** not implemented **
121- 6. Замеры будут проведены для кейсов от 10к до 200к элементов с шагом 10к элементов.
122- 7. В коробочной версии Битрикс24 показатели могут существенно отличаться
117+ 4. Сортировка данных при больших выборках тоже дорогая операция
118+ 5. Имеет смысл сделать замеры при изменении количества элементов на портале 10к до 500к элементов с шагом 20к элементов.
119+ 6. В коробочной версии Битрикс24 показатели могут существенно отличаться
120+ 7. В SDK выделен отдельный сервис ` Core \B ulkItemsReader ` который реализует более эффективные стратегии чем простой batch, на текущий момент
121+ оптимизация скорости чтения данных не производилась, используется стратегия «батч без подсчёта количества элементов»
0 commit comments