Является ли ora_hash детерминированным?

Я работаю с базой данных Oracle, и мне нужно иметь возможность разделить данные в таблице. Я понимаю, что в Rracle есть функция ora_hash, которая может разбивать данные на сегменты. Является ли функция ora_hash детерминированной?

В моей программе я буду делать несколько разных запросов к базе данных, каждый из которых запрашивает другой номер корзины.

Например, в одном запросе я мог бы попросить первые два сегмента:

SELECT * FROM sales WHERE ORA_HASH(cust_id, 9) in (0,1);

В следующем запросе я мог бы попросить 2-й и 3-й ведро:

SELECT * FROM sales WHERE ORA_HASH(cust_id, 9) in (1,2);

В приведенном выше примере, ora_hash всегда будет делить таблицу на те же 10 сегментов? Предположим, что данные в таблицах не изменились. Будет ли второе ведро (ведро 1) идентичным в обоих запросах?

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

Ответы на вопрос(2)

Ваш ответ на вопрос