MySQL - Optimizacion en mySQL

 
Vista:

Optimizacion en mySQL

Publicado por Enrique (1 intervención) el 05/12/2005 19:34:00
Tengo un pequeño problema con la optimización de una tabla en mySQL.
Esta es más o menos la situación:
Supongamos una tabla con varios campos, supongamos de alguna venta, productos o algo típico:
Campos:
ID
Fabricante
Producto
Precio
Descuento
Fecha

ID es sólo un campo primario virtual con auto_increment.
Los demás son campos ordinarios.
Pero tengo 2 problemas:
- La tabla puede llegar a ser enorme, y sufre inserciones constantemente (muchísimas, supongamos 1 por segundo).
- Debo evitar que se inserten registros duplicados.

Para mantener la velocidad creí que sería bueno agregar índices, pero debido a las constantes inserciones, sigue siendo una buena opción o sólo empeoraría las cosas?
Para evitar inserciones duplicadas implementé una solución muy vaga:
Cree un campo auxiliar que guarda una cadena (VARCHAR) donde concatena los campos Fabricante_Producto_Precio_Fecha.
Luego hago un select a ese campo, y antes de insertar un registro me fijo si no está repetido armando la concatenación del nuevo registro.
Si, es muy trucho, pero me pareció que era mejor a comparar los 4 campos, sera?
De qué otra forma podría hacerlo? deberia crear un indice Unico de este campo de control? mySQL simplemente no insertará nada cuando trate de introducir un registro repetido?
No se, no tengo demasiada experiencia con base de datos, alguien conoce un buen método de optimización?
En la base da datos como dije, se insertan registros muy frecuentemente, y hacen "Selects"también bastante seguido (ya que hay muchos usuarios conectados a la misma buscando cosas diferentes). Esto también me hace recordar... debería crear una conexión persistente?

Gracias a todos !
Saludos!
enrique.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder