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