2012-05-07 5 views
2

enter image description here Используя следующиеСоветы по пространственному индексу не работают в SQL Server 2008?

SELECT * 
FROM dbo.GRSM_WETLAND_POLY  
CROSS APPLY (SELECT TOP 1 Name, shape  
      FROM GRSM.dbo.GRSM_Trails --WITH(index(S319_idx))  
      WHERE GRSM_Trails.Shape.STDistance(dbo.GRSM_WETLAND_POLY.Shape) IS NOT NULL  
      ORDER BY GRSM_Trails.Shape.STDistance(dbo.GRSM_WETLAND_POLY.Shape) ASC) fnc 

работает очень медленно на 134 строк (56 секунд), однако, с индексом намеком незакомментированной, он возвращает

Msg 8635, уровень 16, состояние 4, строка 3
Обработчик запросов не смог создать план запроса для запроса с подсказкой пространственного индекса. Причина. Пространственные индексы не поддерживают компаратор , поставляемый в предикате. Попробуйте удалить подсказки индекса или , удалив SET FORCEPLAN.

План выполнения показывает стоимость фильтра на уровне 98%, он запрашивает 1400 строк в другой таблице, поэтому общая стоимость составляет 134 * 1400 индивидуальных запросов, где и находится задержка. По своей сути пространственные индексы в каждой таблице выполняются отлично, без фрагментации, 99% полноты страницы и используют среду для всех 4 уровней сетки с 16 ячейками на объект. Изменение свойств пространственного индекса в обеих таблицах не повлияло на производительность.

Документация предполагает, что подсказки пространственного индекса могут использоваться только в запросах в SQL Server 2012, но, безусловно, для этого есть работа?

ответ

0

Главный вопрос: почему вы заставляете намек? Если SQL Server не выбрал индекс в плане, который он сгенерировал, форсирование другого плана почти всегда приведет к снижению производительности.

Что вам нужно сделать, это проанализировать каждый узел результирующего плана выполнения, чтобы увидеть, где находится шея бутылки так долго. Если вы разместите экран печати, возможно, мы сможем помочь

+0

Я добавил снимок экрана. Как указано, форсирование подсказки не работает, и сгенерированный план показывает, что горло бутылки в значительной степени ограничено фильтром, и я не могу обойтись. – tpcolson