Цитата:
Сообщение от
Rect
1) Таблица А сдержит порядка 20'000'000 записей, В - 15'000
Если такое соотношение будет и в будущем и будет примерно постоянным, то лучше
select B where B.Field1 == param 2
join A where A.Field1 == param1
B.Field2 == A.Field2
Цитата:
Сообщение от
Rect
2) Для таблицы В при выполнении запроса индекс используется. Здесь всё нормально. Для таблицы А происходит full scan. Как я понимаю, существующий индекс при этом не используется в первом случае как раз из-за структуры запроса? (оба эти запроса на скорость выполнения пока протестировать не имею возможности)
Если вы используете параметры по-умолчанию, то скорее всего да.
Но надо смотреть.
Я не понимаю утверждения "не имею возможности протестировать скорость".
Вы задаете теоретические вопросы?
Создайте пару таблиц, заполните их и попробуйте.
Если такие таблицы есть, то почему нет возможности протестировать?
Цитата:
Сообщение от
Rect
3), 4) можно немного поподробнее? Какие параметры можно смотреть?
Для начала в конфигурационной утилите
все что связано с literal'ами, order by clause from where
прочитайте про хинты nestedloop и т.п.
http://axapta.mazzy.ru/lib/indexhints/
Потом читайте про работу оптимизатора в BOL.
про статистику и т.п.