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

Mas registros o mas campos?

Estas en el tema de Mas registros o mas campos? en el foro de Bases de Datos General en Foros del Web. Hola a todos. Una consulta, en una busqueda es mas rapido buscar en una tabla de pocos campos y muchos registros o en una tabla ...
  #1 (permalink)  
Antiguo 11/07/2010, 00:58
 
Fecha de Ingreso: abril-2010
Mensajes: 33
Antigüedad: 14 años
Puntos: 1
Mas registros o mas campos?

Hola a todos.
Una consulta, en una busqueda es mas rapido buscar en una tabla de pocos campos y muchos registros o en una tabla de muchos campos y menos registros?.

Espero me puedan ayudar, gracias.
  #2 (permalink)  
Antiguo 11/07/2010, 07:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mas registros o mas campos?

Puede significar lo mismo, porque una búsqueda tarda más o menos dependiendo de la cantidad de accesos a disco y la cantidad de bloques de datos en memoria.
Para que se entienda: la lectura de una tabla no es lineal desde principio a final. No se leen los registros uno por uno y se los procesa, los datos se leen en bloques de 64 Kb. Cada bloque de datos es un acceso a disco, po lo cual mientras menos bloques devuelva la consulta, más rápida será. En ese sentido, más registros son más bytes, pero un registro más largo también.

Además, hay otros factores que afectan la performance de la consulta. Algunos de ellos son:

- La forma de lectura de datos está definida por los campos a leer según el SELECT. Si uno de los índices cubre la totalidad de los campos, el FROM no se procesa.

- La cláusula FROM y el modo de relacionar las tablas invocadas está afectada por los índices, que pueden o no intervenir aquí según la forma de realizar el JOIN.

- El WHERE afecta el modo de recuperar los datos del SELECT, porque alterará la forma de realizar la comprobación: Si ´debe leer toda la tabla, o si hay algún índice que lo pueda ayudar.

- Finalmente, cláusulas como ORDER BY y GROUP BY reducen la performance de las consultas, porque los algoritmos de ordenamiento, por ejemplo, consumen mucho tiempo de proceso.

- Como podrás notar con esta vista a vuelo de pájaro, el que sean más registros o registros más largos no define per se la rapidez de una consulta.

- Como tip final, ten en cuenta esto: No debes poner más campos en una tabla porque sí, o para "ahorrar" esfuerzo. Los campos (atributos de la relación) se colocan en una tabla porque pertenecen a la entidad que la tabla representa. Hacerlo de otro modo es violar el modelo E-R y además agregarle ineficiencia a la tabla.
__________________
¿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 11/07/2010, 11:18
 
Fecha de Ingreso: abril-2010
Mensajes: 33
Antigüedad: 14 años
Puntos: 1
Respuesta: Mas registros o mas campos?

gnzsoloyo, muchas gacias por responder. entonces la conclusion seria qe lo importante es respetar el mdelo E-R para obtener un esquema de datos consistente verdad?
  #4 (permalink)  
Antiguo 11/07/2010, 14:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mas registros o mas campos?

Exacto.
La optimización de las consultas se puede obtener por muchos oros medios sin tener que sacrificar al modelo E-R.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campos, mas, registros
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 10:31.