Cambio en el comportamiento del GROUP BY in Oracle 10g
Si usted recientemente actualizo su versión de base de datos oracle a la versión 10g, habrá notado que las consultas que agrupan (GROUP BY) le entrega los resultados en cualquier orden.
Pues bien, desde la versión oracle 10g el comportamiento de esta clausula ha cambiado con respecto a sus predecesores. Ahora esta usando el nuevo mecanismo HASH GROUP BY, el cual no garantiza que el resultado este en ningún orden a menos que utiliza la clausula «ORDER BY».
Realicemos una prueba para verificar este comportamiento
En Oracle 9i
SQL> select owner,count(1) from dba_segments group by owner;
OWNER COUNT(1)
CTXSYS 76
HR 25
MDSYS 53
ODM 82
ODM_MTR 12
OE 46
OLAPSYS 149
ORDSYS 7
OUTLN 6
Plan de Ejecución
SELECT STATEMENT CHOOSE
50 SORT GROUP BY
49 VIEW SYS.SYS_DBA_SEGS
48 UNION-ALL
……
En Oracle 10g