Duda sobre consultas

themaz

Hola, tengo la siguiente duda, a ver si me podéis ayudar:

Existe mucha diferencia entre utilizar :

SELECT * FROM ...

a utilizar

SELECT nombre,fecha FROM ...

Supongo que esto cargará más o menos el servidor, pero ¿realmente vale la pena reemplazar los * por aquello que solo necesitamos ?

Saludos

tOWERR

Supongamos que tu tabla tiene 3 campos, NOMBRE, FECHA y EDAD.

En el primer select te muestra todos los campos de la tabla, NOMBRE, FECHA y EDAD. Y el segundo te mostrará los campos que le indiques en el select, en tu ejemplo te mostrará solamente NOMBRE y FECHA.

¿Lo entiendes?

Fyn4r

Si tienes 3 campos te va a dar igual, si tienes 20 campos y solo quieres 2 usar el * no es eficiente. Además, escribir en la consulta los campos que necesitas aclara mucho el código.

#4 yaya, yo respondía a lo que dijo #1 de ¿realmente vale la pena reemplazar los * por aquello que solo necesitamos ?

1 respuesta
tOWERR

#3

Ya lo sé, pero ha preguntado cual es la diferencia.

2 respuestas
Soltrac

#4 No, ha preguntado si existe mucha diferencia en carga a servidor y la respuesta a #1 es que sí, solo carga lo que necesites.

Obviamente no notarás apenas una tabla de 2-3 campos, pero si la cosa se complica es absurdo pedir datos que no vas a utilizar.

PiradoIV

Sí, vale la pena elegir únicamente lo que necesitas:

Todo lo que le pidas de más a la base de datos lo vas a necesitar cargar en la memoria del servidor, tanto al hacer la búsqueda como al procesar los datos que te devuelve. La memoria de los servidores suele estar compartida con más sitios web, la tuya irá más lenta... y ya no únicamente en experiencia del usuario, en el posicionamiento web también influye.

Si tu servidor de base de datos está separado de tu servidor web, al problema de memoria le sumas que vas a transferir datos de un servidor a otro que no vas a utilizar. En definitiva, hay más razones para limitar tu búsqueda que no limitarla.

El único punto de vista más o menos válido para hacer que algo que programes no sea 100% óptimo es que consideres que, tu tiempo, vale mucho más que un incremento de hardware. Y no me refiero a hacerlo mal, ilegible o sin documentación, simplemente que no sea eso, 100% óptimo.

themaz

vale gracias, entonces veo que si vale la pena tomar solo los datos que busco. Lo iré haciendo poco a poco jeje. Pensaba que no se notaría mucho pero veo que si

gracias

Usuarios habituales

  • themaz
  • PiradoIV
  • Soltrac
  • tOWERR
  • Fyn4r