Показать сообщение отдельно
Старый 30.07.2009, 21:19   #15  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
365 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение

Отсюда вопрос. Какой смысл вручную создавать такой абсурдный с точки зрения приложения индекс (уникальность RecId - это всё же забота ядра и БД).
Первое, что не стоит забывать так это то, что ядро автоматически в любой select добавляет поле RecId, соотвествено такой индекс как написал Андре будет покрывающим (covering index)(в случае выбора только полей индекса без RecId), но стиль программирования в AX не тот, чтобы задумываться об использовании покрывающих индексов (как правило фетчится весь курсор), поэтому ради этого не стали бы создавать данный индекс.

Второе - в AX директива index в запросе не игнорируется и записи сортируются в порядке полей индекса.

Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
И ещё возник такой вопрос. Если уникальность RecId контролируется составным индексом, где помимо RecId присутствуют ещё и другие поля, то уникальность отдельно самого поля RecId, вообще говоря, уже не обеспечивается. Не является ли это потенциальным источником ошибок?
В AX 3.0 маловероятно, поскольку RecId должен быть уникален в разрезе всей компании, а не только таблицы, а вот в DAX 4.0 и старше проблема уже представляется более серьезно

P.S. Насколько мне известно термин "overindexing" означает "перегруженность" таблицы индексами
__________________
Sergey Nefedov

Последний раз редактировалось SRF; 30.07.2009 в 21:22.