Estoy trabajando con una base de datos Oracle y necesito poder particionar los datos en una tabla. Entiendo que Rracle tiene una función ora_hash que puede dividir los datos en segmentos. ¿Es la función ora_hash determinista?¿Es ora_hash determinista?
En mi programa realizaré varias consultas de bases de datos diferentes con cada consulta pidiendo un número de depósito diferente.
Por ejemplo, en una consulta que podría pedir los dos primeros cubos:
SELECT * FROM sales WHERE ORA_HASH(cust_id, 9) in (0,1);
En una consulta posterior que podría pedir la segunda y tercera cubeta:
SELECT * FROM sales WHERE ORA_HASH(cust_id, 9) in (1,2);
En lo anterior ejemplo, ¿ora_hash siempre dividirá la tabla en exactamente los mismos 10 cubos? Supongamos que los datos en las tablas no han cambiado. ¿Será el segundo cubo (casilla 1) idéntico en ambas consultas?
Hay documentación que sugiere que valor de inicialización permite a oráculo devolver resultados diferentes para el mismo conjunto de datos. Por lo tanto, supongo que si no utilizo valor de inicialización, entonces ora_hash será determinista. Ver the documentation.
sólo pude encontrar una referencia a [ "Hash no determinista"] (http://thedailywtf.com/Articles/The-Nondeterministic-Hash.aspx) ... –