Navision 5.0 SP1 (W1) что нового бросается в глаза? - SIFT реализованы через Indexed Views!

.... 

Ура, только что, 28 марта, выпущен релиз Navision 5.0 SP1(W1) .
Примечание:
Русская версия Navision 5.0 SP1(RU) ожидается к этому лету.
 
C сайта https://www.mibuso.com/dlinfo.asp?FileID=950 сейчас можно скачать международного (W1) клиента Navision 5.0 SP1 (~200 Mb). В клиенте по умолчанию только демо-лицензия. Т.е. по сути, вы будете иметь однопользовательскую систему с демо-лицензией. По сути это копия директорий CsideClient, Doc c Product CD; так же там есть Change Doc.

...

Первичный просмотр файла сделанных изменений и исправленных ошибок -  ‘Changes in NAV 5 0 SP1.doc’ внушает сдержанный оптимизм.
Примечание:
Файл ‘Changes in NAV 5 0 SP1.doc’ может быть выкачен партнером в рамках Product CD c сайта Partnersource.

https://mbs.microsoft.com/partnersource/downloads/releases/MicrosoftDynamicsNAV50SP1.htm

...либо можно закачать только Relelease Note, 5.3 MB (в ней есть Change Doc)

https://mbs.microsoft.com/fileexchange/?fileID=295af07b-7d48-42e9-a8d3-889c92f559ea

Что мне наиболее бросилось в глаза, так это смена схема реализации SIFT полей для SQL варианта системы. Триггеры и дополнительные аккумулирующие таблицы больше не используются. Вместо них применяется Indexed Views.

Примечание:

***
Indexed View [Индексированное (Материализованное) представление (VIEW)] – это стандартный механизм MS SQL Server 2000/2005 (появился только в 2000). По сути это виртуальная таблица, причем хранится она в базе данных и может быть использована оптимизатором запросов.

Краткая  информация из ‘SQL Server 2005 Books Online’ по отличию indexed и standard (nonindexed) view:

An indexed view is a view that has been materialized. This means it has been computed and stored. You index a view by creating a unique clustered index on it. Indexed views dramatically improve the performance of some types of queries. Indexed views work best for queries that aggregate many rows. They are not well-suited for underlying data sets that are frequently updated.

The SQL Server 2005 query processor treats indexed and nonindexed views differently:
• The rows of an indexed view are stored in the database in the same format as a table. If the query optimizer decides to use an indexed view in a query plan, the indexed view is treated the same way as a base table.
• Only the definition of a nonindexed view is stored, not the rows of the view. The query optimizer incorporates the logic from the view definition into the execution plan it builds for the SQL statement that references the nonindexed view.

***

Попробую показать, как это все выглядит на практике.

Беру обычную базу данных ‘Navision Demo Database (4-0) SP3 W1’.

Вижу, на таблицах книг операций (ledger entry) висят достаточно тяжелые триггера, модифицирующие аккумулирующие таблицы при каждом изменении книги операций.

Триггера:

IndexedViews1

Вот собственно сами аккумулирующие таблицы:
Структура этих таблиц очень далека он простоты понимания…

IndexedViews2

А вот как будет выглядеть та же база данных, если ее конвертировать  клиентом 5.0 SP1(W1).
Конвертации процесс достаточно долгий, у меня демобаза конвертировалась порядка 2 минут на desktop-е…

Триггеров нет:

IndexedViews3

Аккумулирующих таблицы исчезают:

IndexedViews4

Появились Indexed Views:
Структура views достаточно понятна…

IndexedViews5

Почему же я с таким восторгом пишу об этих самых Indexed Views?

Просто эта новая схема реализации SIFT не только обеспечивает упрощение конструкции механизма и дает надежду на увеличение производительности, но и дает более эффективный путь написания внешних запросов (отчетов) апеллирующих к агрегированным данным.

Вот как будет выглядеть запрос возвращающий номер товара и количество на складе: 
Т.е. используем механизм поддерживающий SIFT (вычисляемое) поле Inventory…

IndexedViews6

IndexedViews7

P.S.

 Немного о бренном….

MS объявила скидки на новые приобретения Navision в период с 7 марта по 29 мая 2008 года включительно.
https://www.microsoft.com/rus/dynamics/solutions/navision/promo/default.mspx

Казалось бы, причем здесь 5.0 SP1(RU), если он выходит летом?
Дело в том, что если даже сейчас, в апреле скажем, приобрести 4.0 (RU), то как всегда закупка одного года обновления является обязательной процедурой. А это значит, что возможность обновить лицензию до текущего уровня версионности и состояния глобальных/локальных объектов будет присутствовать в течении года с момента покупки.

Иначе говоря, если вы планируете приобретение Navision, то сейчас (до 29 мая) один из выгодных моментов.