Function based spatial index или Хитрость не удалась


Давно уж думал о том, что пора бы ораклу обзавестись пользовательскими типами индексов, а за не имением оных попробовать fbi на spatial индексе, то бишь на r-tree. И вот решил попробовать, да не вышло...

» Код 1: «

Ошибка дурацкая:
DB11G/XTENDER> create index dates_fbi on rtree(
  2    dates_interval(d_start,d_final)
  3  )
  4  INDEXTYPE IS MDSYS.SPATIAL_INDEX;
create index dates_fbi on rtree(
*
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
UPD:Разобрался, проблема оказалась в необходимости для этого метаданных: в "select * from user_sdo_geom_metadata;" должны быть данные о колонках с метаданными о spatial данных, а так как в моем примере колонки такой и нет, то и использовать это не получилось бы.
Тем не менее я все-таки проверил насколько хорошо spatial index будет работать для диапазонов-создал табличкуc 20 тыс. равномерных диапазонов дат - оказался обычный фулскан по датам быстрее, чем поиск по spatial индексу...

» Код «


» Код проверки обычного фуллскана по обычным датам: «

Comments

Отправить комментарий