![]() |
#24 |
Administrator
|
Ну, дерево, само по себе, не слишком-то и отличается. В форме с номенклатурой два дерева (одно для фильтрации, другое для классификации), но на быстродействие это вряд ли существенно влияет. Здесь, скорее всего, дело в том, что в lookup форме выводятся данные только одной таблицы (InventTable), а в форме номенклатурные единицы выводятся данные пяти таблиц, не считая тех, что используются для классификатора (+2). Думаю, что это больше всего влияет на быстродействие.
А у Вас действительно на порядок отличается скорость? У нас замедление заметно, но сказать, что на порядок... Хотя классов в классификаторе у нас, конечно, меньше. На счет ID и CODE. Дело в том, что изначально задача стояла так, что классу принадлежат и его элементы, и элементы, принадлежащие его потомкам. Изначально задачу решили так: код потомка строится как код предка и некоторые символы, приписанные справа. Это дает возможность использовать для SQL-запроса условие LIKE 'ABC*', где ABC - код предка. В принципе, это видимо тоже замедляет фильтрацию, так как выборка с использованием LIKE не индексируется. Возможно, что в будущем классификатор будет переделан так, чтобы для построения поддерева использовалось не LIKE ..., а ParentID = ... и соответствующие индексы (вы можете заняться этим прямо сегодня! ![]() P.S.: А по ID фильтрация и не идет. Идет фильтрация по TypeID. Дело в том, что классы с одинаковым кодом могут встречаться, но в разных классификациях (типах классов).
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
![]() |
||||
Тема | Ответов | |||
lookup+Классификатор | 4 | |||
Классификатор | 4 | |||
Абстрактный классификатор | 17 | |||
Абстрактный классификатор (версия 1.1) | 0 | |||
Абстрактный классификатор (версия 1.0) | 3 |
|