Кстати, давно было интересно, насколько ускорится построение индекса при разных формулах вьюшки.
Вводные: тестовая БД на отдельном сервачке (слабом, но без юзеров; v9 fp9); одна вьюшка с одним столбцом и одна форма, на ней 4 случайных текстовых поля и вычисляемый их список (f1:f2:f3:f4).
База заполнена агентом (hashPassword от случайного числа в каждое поле f1 f2 f3 f4), 2 ляма доков. Кстати, любопытно, что по мере заполнения базы скорость создания документов практически не изменилась.
фигура 1: в столбце вьюшки формула @unique(@trim(f1:f2:f3:f4). Запускаю updall -R дважды с перерывом, работает 45 и 46 минут.
фигура 2: меняю в столбце вьюшки формулу на просто f. Запускаю updall -R трижды с перерывами, работает 40, 44 и 42 минут.
Офигеть! вот и верь после этого редбукам получается - львиная доля времени тратится индексёром на доступ к документам и запись в индекс, а не на вычисление формул. Понятно, что на сложных вьюхах процент на вычисления будет поболе, но всё-таки.
Отметим, что вынос индексов из БД в среднем никак не повлиял на скорость индексации: с формулой в столбце индексация шла 47 и 44 мин; с полем - 41 и 46 минут.
Вводные: тестовая БД на отдельном сервачке (слабом, но без юзеров; v9 fp9); одна вьюшка с одним столбцом и одна форма, на ней 4 случайных текстовых поля и вычисляемый их список (f1:f2:f3:f4).
База заполнена агентом (hashPassword от случайного числа в каждое поле f1 f2 f3 f4), 2 ляма доков. Кстати, любопытно, что по мере заполнения базы скорость создания документов практически не изменилась.
фигура 1: в столбце вьюшки формула @unique(@trim(f1:f2:f3:f4). Запускаю updall -R дважды с перерывом, работает 45 и 46 минут.
фигура 2: меняю в столбце вьюшки формулу на просто f. Запускаю updall -R трижды с перерывами, работает 40, 44 и 42 минут.
Офигеть! вот и верь после этого редбукам получается - львиная доля времени тратится индексёром на доступ к документам и запись в индекс, а не на вычисление формул. Понятно, что на сложных вьюхах процент на вычисления будет поболе, но всё-таки.
Отметим, что вынос индексов из БД в среднем никак не повлиял на скорость индексации: с формулой в столбце индексация шла 47 и 44 мин; с полем - 41 и 46 минут.