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

Optimizar el tiempo de busqueda. Crear tabla con qué datos

Estas en el tema de Optimizar el tiempo de busqueda. Crear tabla con qué datos en el foro de Bases de Datos General en Foros del Web. Buenas Como habéis podido ver no sabía que poner muy bien en el título del tema, pero bueno, ahora os cuento. Tengo un foro, y ...
  #1 (permalink)  
Antiguo 19/04/2008, 04:27
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Optimizar el tiempo de busqueda. Crear tabla con qué datos

Buenas

Como habéis podido ver no sabía que poner muy bien en el título del tema, pero bueno, ahora os cuento.

Tengo un foro, y por ejemplo me interesa tener en una tabla información acerca de todos los mensajes que empiecen su asunto con "Hola".

Vale, pues mi pregunta es la siguiente.
Qué datos creéis que tengo que extraer de la base de datos del foro para que sea una base de datos lo más óptima posible.

Cada mensaje se identifica con un ID, y luego me interesaría saber quien es el autor del mensaje, el número de visitas del tema, el asunto del mensaje y el número de respuestas.

¿Creéis que debería de hacer una nueva tabla con todos esos valores?
De ese modo únicamente tendría que acceder a mi tabla para obtener los valores que deseo y ahorrarme una búsqueda entre miles de filas.

¿O tal vez con meter en una tabla el ID del mensaje, que son unos 4 dígitos, luego podría realizar la búsqueda de esos datos en las tablas del foro correspondiente mediante el ID en las miles de tablas?

Es una duda en poco tonta, pero como a veces hablan de ... "no repetir los datos innecesariamente" para optimizar las tablas y su funcionamiento así como el tamaño de la misma...

Gracias por leer mi rollo :)
  #2 (permalink)  
Antiguo 20/04/2008, 05:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: Optimizar el tiempo de busqueda. Crear tabla con qué datos

No sabemos que base de datos usas...

Yo lo solucionaria creando una vista con los datos que necesites, nunca creando una tabla nueva puesto que tendrias que preocuparte de actualizarla cada vez que haya un cambio....

Debes seguir este principio "si los datos que necesitas se pueden calcular de los datos que tienes guardados nunca guardes el resultado del calculo puesto que en algun momento te puedes olvidar de actualizarlos".

Dependiendo del nivel que tengas hay formas automaticas de actualizar datos de este tipo triguer o procedimientos almacenados, pero para lo que pides una vista seria suficiente.

Una vista es como una tabla virtual que muestra el resultado de un SELECT...

Quim
  #3 (permalink)  
Antiguo 22/04/2008, 01:35
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Re: Optimizar el tiempo de busqueda. Crear tabla con qué datos

Gracias por responder.

Uso MySql de base de datos.
Miraré lo de la vista.
  #4 (permalink)  
Antiguo 22/04/2008, 03:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: Optimizar el tiempo de busqueda. Crear tabla con qué datos

Solo con MySql 5.x creo que en las anteriores no se podian crear vistas...

Quim
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 15:45.