Я спрашиваю об этом, потому что я в основном работал с Oracle, но в течение прошлого года я удваивался с PostGIS и SQLServer 2008. Большинство пространственных функций в Oracle не будут работать без пространственного индекса, возвращающего ошибку ORA-13226:
13226, 00000, «интерфейс не поддерживается без пространственного индекса» // * Причина: таблица геометрии не имеет пространственного индекса. // * Действие: Убедитесь, что в таблице геометрии, на которую ссылается пространственный оператор, есть пространственный индекс.
Для меня это имеет смысл. Вы запускаете пространственный запрос = у вас должен быть пространственный индекс. Но, насколько я понимаю, ни PostGIS, ни SQL Serve не требуют этого. Кажется, в PostGIS даже есть функции (_ * например _STContains), которые EXPLICITLY не будут использовать пространственный индекс.
Итак, вопрос в том, есть ли случаи, когда вам НЕ следует использовать пространственный индекс? Не обязательно, является ли подход «возьми или оставь это», то есть он не будет иметь никакого значения, но где НЕ использование пространственного индекса будет влиять на производительность? Для меня последнее предложение является противоречием в терминах, но в противном случае, почему PostGIS будет предоставлять эти функции?