Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Reglas Oracle???

Estas en el tema de Reglas Oracle??? en el foro de Oracle en Foros del Web. En Oracle (va por reglas) que orden hay que tener en las clausulas del where? en el From ya se que las tablas que haya ...
  #1 (permalink)  
Antiguo 18/04/2008, 02:04
 
Fecha de Ingreso: abril-2005
Mensajes: 17
Antigüedad: 19 años
Puntos: 0
Reglas Oracle???

En Oracle (va por reglas) que orden hay que tener en las clausulas del where? en el From ya se que las tablas que haya que acotar por alguna condición las primeras pero en el where? para que cojan los íncies como es el orden de abajo hacia arriba y de izquierda a derecha o al reves?..

gracias
  #2 (permalink)  
Antiguo 18/04/2008, 04:21
 
Fecha de Ingreso: marzo-2008
Ubicación: Euskadi
Mensajes: 64
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Reglas Oracle???

Hola kakoo,

hasta donde yo se, al menos en las versiones más recientes de Oracle, el orden tanto del FROM como del WHERE es irrelevante. Utilizará los índices que considere más adecuados (a no ser que le obligues a utilizar uno mediante un hint) dependiento de los campos que vengan informados en la cláusula WHERE.

saludos.
  #3 (permalink)  
Antiguo 23/04/2008, 09:12
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Reglas Oracle???

Hola,

No comentas con que version de Oracle estas trabajando, pero el optimzador RBO esta desoportado, CBO es mucho mas preciso y evolucionado.

Saludos
  #4 (permalink)  
Antiguo 23/04/2008, 13:42
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Reglas Oracle???

Kakoo, el Optimizador del Oracle lee la consulta partiendo desde abajo hacia arriba como una "Z", es decir que las condiciones mas significativas van al ultimo.

Con respecto a lo que mencionas sobre las tablas en el from es cierto, por tanto debes poner la tabla "pivot" primero y luego las menos relevantes.

Que es una tabla "pivot"? Es aquella que reduce significativamente la cantidad de registros a procesar en la consulta con una o varias condiciones.

A proposito, usa el hint /*+ ORDERED */ para que el Optimizador tome las tablas en el orden que tu las has puesto en el from.

Cualquier cosa, no dudes en avisar. Recuerda que bien escrita una consulta reduce el tiempo de horas a segundos y te lo digo por experiencia propia.

Matanga, tanto tiempo amigo mio!!!! Veo que no has perdido el tiempo!!!!...

Un saludo desde lo mas austral del Mundo, Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:07.