miércoles, 20 de agosto de 2014

ORACLE: optimización de consultas basico

Utilización de campos específicos en lugar del *

  • Count(*)

Cuando haces una consulta con un count(*) solo para ver cuantos registros tiene una consulta no debería utilizar el * ya que la base de datos va y busca las columnas definidas de la tabla(y esto por pequeño que sea toma tiempo) en estos casos puedes hacer algo así:

select count(1) from usuario ;  --bien
el 1 representa el primer campo de la tabla
ó
select count(campo) from usuario ; --bien


y no usar
select count(*) from usuario ; --mal

En conclusión el tiempo que se toma en ejecutar el segundo query es menor el que se toma si el query tiene el count(*).


  • Select *

En algunas ocasiones no especificamos en nuestro código que campos específicamente vamos a utilizar de una tabla y utilizamos el *,pues cuando utilizamos el * y vamos a utilizar la mitad de los campos lo que sucede es que ocupamos mas recursos de la base de datos e incluso ocupamos mas red para llevar los datos al sistema que ejecuto la consulta.

Select  campo1, campo2,campo2 from tabla;  --bien

select * from tabla ; -- mal




No hay comentarios: