|
![]() |
#1 |
Участник
|
О..
этот индекс и не должен использоваться. т.е. какой у вас план то - найти сначала номенклатуру(из InventSum) и InventDimId, а потом проверить все комбинации аналитик? для проверки комбинаций SQL считает что лучше использовать кластерный индекс по InventDimId. тут можно попробовать создать вот такой(ниже) - искать сразу InventDim и потом по нему уже InventSum, но опять же надо смотреть на ваши данные, т.е. это будет работать если нет обобщенных партий-гтд и нет других аналитик dataareaid inventsizeid inventcolorid inventlocationid inventbatchid inventgtdid_ru |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от trud
![]() О..
этот индекс и не должен использоваться. т.е. какой у вас план то - найти сначала номенклатуру(из InventSum) и InventDimId, а потом проверить все комбинации аналитик? для проверки комбинаций SQL считает что лучше использовать кластерный индекс по InventDimId. тут можно попробовать создать вот такой(ниже) - искать сразу InventDim и потом по нему уже InventSum, но опять же надо смотреть на ваши данные, т.е. это будет работать если нет обобщенных партий-гтд и нет других аналитик dataareaid inventsizeid inventcolorid inventlocationid inventbatchid inventgtdid_ru Если поставить DataAreaID в вышеуказанном мной индексе на 4 место, то статистические данные запроса становятся лучше. Такой индекс sql использует без подсказок. Согласны? |
|
![]() |
#3 |
Участник
|
ну т.е. у вас сначала ищутся все InventDimId с заданной партией, потом уже выбираются остатки.
т.е. индекс который я предложил однозначно ускорит этот процесс(за счет доп фильтрации по тому же складу) а с вашим индексом какой план? |
|
![]() |
#4 |
Участник
|
Цитата:
принципиальный вопрос в том, можно ли DataAreaID ставить не на первое место в индексах? |
|
![]() |
#5 |
Участник
|
Конечно можно, и бывает ,что для каких-то таблиц так делают. Только, как уже было сказано, делать это не непосредственно в базе SQL, а в АОТ Аксапты, прямо указывая в индексе положение DataAreaId. Ну и, естественно, не везде подряд, а проверяя к чему это приводит с точки зрения выполнения запросов.
|
|
![]() |
#6 |
Модератор
|
Я правильно понимаю, что Index seek по InvendDim (напомню, серийники не используются) и уже потом JOIN с InventSum на всех планах исполнения никого не смущают?
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#7 |
Участник
|
|
|
Теги |
axapta, dynamics ax, sql server, tuning |
|
|