|
![]() |
#1 |
Участник
|
Вы сделали распространенную ошибку, решив что на SQL-сервере выполняется напрямую SQL-запрос. На самом деле это не так. Там создается курсор, в который и "оборачивает" SQL-запрос. А вот у курсора и "чистого" запроса планы исполнения могут отличаться. Причем, как правило, отличия возникают именно при объединении по Exists Join.
Т.е. у Вас два варианта решения проблемы 1. Отказаться от Exists Join в пользу Inner Join. Поскольку у Вас ведущей является таблица строк накладных расходов, то связь получится по типу много-к-одному. Т.е. здесь даже не надо проверять на возможные дубли. Их и так не будет 2. Можно заняться оптимизацией. НО! Оптимизацией не того запроса, что Вы выцепили из профайлера, а обернутого в курсор. Т.е. Вам надо оптимизировать вот это PHP код:
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: AlGol (1), Romb (1), malex (1), Alexanderis.ua (1). |
|
![]() |
||||
Тема | Ответов | |||
оптимизация запроса статистики по клиенту | 2 | |||
Просмотрщик запросов QueryBrowser DAX 3.0 SP4 | 30 | |||
Оптимизация запросов к БД в коде | 57 | |||
Оптимизация запросов | 6 | |||
Оптимизация запросов | 3 |
|