Да, они работают.
Я только что переключил один из моих классов с запроса на основе ESRI-ArcObject с помощью ISpatialFilter на SqlCommand, который возвращает те же данные. Это поиск по близости (вернуть любые записи, которые находятся в пределах 1000 футов от точки x).
Сначала запрос ESRI был еще быстрее, но это было из-за плохо сконструированного предложения where, которое было очень неэффективным (я все еще учусь, как использовать пространственные функции в SQLSVR2008).
После некоторой настройки мой метод SQL был быстрее, чем метод ESRI, но ненамного. Затем я увеличил дальность поиска до 10000 футов и увидел разницу. Метод SQL Server 2008 был намного быстрее.
(ESRI) Время поиска ближайших клиентов (сек): 1.503
(SQL2008) Истекшее время запроса ближайших клиентов (сек): 0,925
Хотя различия в скорости связаны не с индексами, а с ESRI-ArcObjects. В моем методе ESRI я получаю свое расстояние, x и y от IProximityOperator и IPoint. В методе SQL2008 я позволяю базе данных выполнять всю работу: SHAPE.STX как X, SHAPE.STY как Y, SHAPE.STDistance (но разработчики ArcObject знают все об этих издержках).
Пока что я впечатлен.