У меня есть таблица так:Как подсчитать количество элементов во всех Oracle varrays из таблицы?
CREATE TABLE spatial_data (
id NUMBER PRIMARY KEY,
geometry SDO_GEOMETRY);
SDO_GEOMETRY имеет поле SDO_ORDINATES с следующего типа:
ТИПА SDO_ORDINATE_ARRAY AS VARRAY (1048576) ЧИСЛА
можно получить количество точек для указанного объекта:
select count(*)
from table(
select s.geometry.sdo_ordinates
from spatial_data s
where s.id = 12345
);
Как я могу получить количество для нескольких объектов? Невозможно использовать
where s.id in (1, 2, 3, 4, 5)
И я действительно забочусь о производительности. Может быть, PL/SQL будет правильным выбором?
@dmiandre - Я добавил запрос, который, я думаю, может работать –
Спасибо за ваш ответ! Я сравнил эти два запроса, а второй подход с функцией pl/sql работает намного быстрее. – dmiandre