|
![]() |
#1 |
----------------
|
Цитата:
Цитата:
Насчет "плохо" выполнение по индексу - первый раз слышу. Я же привел цифру не времени выполнения, а стоимости этапа выполнения запроса. Поскольку основа запроса - это выборка по SalesLine - вполне естесственно, что стоимость именно этой операции будет самой высокой. Да, наверное стоит заметить, что у нас этот индекс сделан кластерным.
Насчет статистики могу сказать, что пока общее количество записей в таблице wmsBillOfLadingOrder несопоставимо меньше количества записей в SalesLine. Разница в несколько порядков. Будь я оптимизатором SQL-сервера, я бы предложил 1. поиск в wmsBillOfLadingOrder по индексу BOM (есть у вас такой?) 2. Собрать все уникальные значения inventTransRefId 3. поиск в индексе в SalesLineIdx всех записей, относящихся к полученному списку 4. получение данных для определенного списка записей SalesLine 5. Дальнейшая фильтрация Видимо, из-за кластерности п3 и 4 у вас объединены У вас запросы на сервер так и уходят со значениями или они параметризированы? |
|
|
За это сообщение автора поблагодарили: kashperuk (5), alex55 (1). |
Теги |
ax3.0, exists, oracle, sql server |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|