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

¿es mejor hacer un select de todo (*) o especificar campo por campo?

Estas en el tema de ¿es mejor hacer un select de todo (*) o especificar campo por campo? en el foro de Mysql en Foros del Web. pues bien esa es la pregunta, necesito hacer un select donde necesito todos los campos de la tabla, pero una vez escuche que era mejor ...
  #1 (permalink)  
Antiguo 25/01/2013, 07:08
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 16 años, 2 meses
Puntos: 7
¿es mejor hacer un select de todo (*) o especificar campo por campo?

pues bien esa es la pregunta, necesito hacer un select donde necesito todos los campos de la tabla, pero una vez escuche que era mejor especificar campo por campo porque así el mysql sabría exactamente donde llegar. ¿Alguien me puede aclarar esta duda?
  #2 (permalink)  
Antiguo 25/01/2013, 07:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿es mejor hacer un select de todo (*) o especificar campo por campo?

Es siempre preferible pedir específicamente los campos que vas a usar, especialmente con consultas que usen JOINs implícitos o explícitos.
El famoso "SELECT * ..." es la peor forma de consulta posible, y en realidad es muy, pero muy raro que en realidad vayas a usar todos los campos sin excepciones.
Traer todo cuando sólo necesitas una parte, significa transferir información basura, que sólo ocupa espacio de datos útiles y genera un aumento innecesario de tráfico.
A esto debes sumarle que es muy común que quieras la información con cierto formato (por ejemplo el de fechas), y en esos casos puede convenir indicar campo a campo, aunque sean 107..
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/01/2013, 07:48
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 16 años, 2 meses
Puntos: 7
Respuesta: ¿es mejor hacer un select de todo (*) o especificar campo por campo?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Es siempre preferible pedir específicamente los campos que vas a usar, especialmente con consultas que usen JOINs implícitos o explícitos.
El famoso "SELECT * ..." es la peor forma de consulta posible, y en realidad es muy, pero muy raro que en realidad vayas a usar todos los campos sin excepciones.
Traer todo cuando sólo necesitas una parte, significa transferir información basura, que sólo ocupa espacio de datos útiles y genera un aumento innecesario de tráfico.
A esto debes sumarle que es muy común que quieras la información con cierto formato (por ejemplo el de fechas), y en esos casos puede convenir indicar campo a campo, aunque sean 107..
Muchas gracias, y que me recomendarías en lugar del select
  #4 (permalink)  
Antiguo 25/01/2013, 07:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿es mejor hacer un select de todo (*) o especificar campo por campo?

¿A qué te refieres con "en lugar del select"?
En SQL sólo existe el SELECT para realizar una consulta de datos, y la respuesta es bastante obvia con lo que te dije antes: Pones uno a uno los campos que necesites, en cada consulta que escribes.

No entiendo tu duda...

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 25/01/2013, 08:13
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 16 años, 2 meses
Puntos: 7
Respuesta: ¿es mejor hacer un select de todo (*) o especificar campo por campo?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿A qué te refieres con "en lugar del select"?
En SQL sólo existe el SELECT para realizar una consulta de datos, y la respuesta es bastante obvia con lo que te dije antes: Pones uno a uno los campos que necesites, en cada consulta que escribes.

No entiendo tu duda...

Perdon pense que habias escrito EL SELECT solo no habia visto el *. Te agradezco por la respuesta

Etiquetas: campos, especificar, select, sql, tabla, todo
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 08:52.