Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/03/2013, 07:58
reynierpm
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 140
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Optimizacion de BD

Voy a responder a tus dudas y a comentar al respecto de la posible solución que me sugeriste:

Cita:
No explicas el significado de las tablas....con lo que es dificil saber si el diseño es correcto.
Las tablas son básicamente para almecenar en una columna un numero de telefono que puede comenzar por 0 o no, por ejemplo 04241805609 y 4241805609 son números válidos y deberían poder almacenarse, es mas no estoy seguro de que el ID sea necesario ya que esos números nunca serán editados. Cuando más eliminados pero a mi aplicación puedo pasarle como parámetro el número en si y como será único pues no creo que haya problemas

Cita:
No entiendo porque un campo llamado number esta definido como varchar, un tipo string.
Quizás porque este mal mi diseño y ahí necesito la opinión de personas más experimentadas que yo, no sabía que existia la opción ZEROFILL en el tipo de dato INT hasta ayer que leí al respecto, creo que la solución sería poner un INT de longitud 11 con la propiedad UNSIGNED ZEROFILL así aceptaría solo positivos y pues bueno cuando no aparezca el 0 lo llenaría de forma automática, si me equivoco me corriges

Cita:
No entiendo porque si number no se puede repetir no defines un indice unico sobre el.
Al igual que la respuesta anterior, quizás por un mal diseño, ahorita lo pondre como un índice único tal como esta en la sugerencia que me dejas acá.

Cita:
No explicas si hay actualización de las otras tablas.
Si, todas las tablas deben ser actualizadas por lo cual el poner un campo ENUM y tener una sola tabla no me serviría dado que los registros pueden ser variables entre tablas. Fijate esto que dije al principio: tbl_blacklist ~92 038 registros, tbl_cmdatabase ~45 742 registros, tbl_ndatabase ~194 074 registros ahi ves la diferencia de registros existentes en cada una de las tablas. Los 50 000 que comento que son extraídos del Excel irían a parar en la tabla tbl_ndatabase en caso de no estar en tbl_blacklist ni en tbl_cmdatabase

Cita:
No dices si entre las tablas "secundarias" se pueden repetir valores.
No, es un requerimiento que los valores almacenados en tbl_database (tabla primaria y principal) no estén ni en la tabla tbl_cmdatabase ni en tbl_blacklist, quizas entre estas dos ultimas si existan valores repetidos pero eso no me importa tanto dado que la tabla donde siempre hago consultas y selecciono datos es de la primaria.

El enlace que dejaste parece estar muerto
Al tanto de comentarios
Saludos
__________________
Reynier Perez Mira
Skype: reynierpm
Site: http://www.reynierpm.com