MySQL - optimizar tabla de registros

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 27 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

optimizar tabla de registros

Publicado por Rodrigo (2 intervenciones) el 15/06/2018 21:57:03
Hola a todos, quisiera saber su opinión frente a la siguiente situación, tengo una tabla con las siguientes caracteristicas:

Dueños

id / Nombres / Apellido1 / Apellido2 / DNI / Direccion / Comuna / Ciudad / Region / Telefono1 / Telefono2 / Email

Quisiera si hay una manera mas optima de guardar la informacion, ya que esa tabla ya tiene al rededor de 5000 registros.

Quedo atento a sus comentarios
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
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

optimizar tabla de registros

Publicado por leonardo_josue (414 intervenciones) el 18/06/2018 16:22:34
Hola Rodrigo:

1
2
Quisiera si hay una manera mas optima de guardar la informacion,
ya que esa tabla ya tiene al rededor de 5000 registros.

Hablar de 5000 registros en una tabla en realidad no es nada, puesto que puedes tener tablas con millones de registros sin tener ningún problema, así es que eso que no te quite el sueño.

Sin embargo, veamos algunos puntos que creo que puedes corregir en tu modelo para un futuro.

De acuerdo a tu información que guardas, contesta las siguientes preguntas:

1. Todos los registros que metes a la tabla tienen información en todos los campos o tienes campos con valores de null:
2. ¿Qué pasa si una persona quiere registrar 3 o más teléfonos? ¿o un teléfono y una extensión.?
3. Lo mismo pasa con el correo, ¿qué pasa si quiero guardar más de una cuenta de correo?

Dependiendo de lo que contestes en estas preguntas, podrías aplicar cambios o no. Si tienes campos con valores nulos, esto indica un mal modelo de datos. Por lo general, cuando guardas la información de una persona, NO TODOS TIENEN UN TELÉFONO Y MUCHO MENOS DOS TELÉFONOS, pero hay personas (o empresas) que pueden tener más de 2. lo mismo pasa con las cuentas de correo electrónico. No todas las personas/empresas tienen cuentas de correo. Entonces, lo que tienes que hacer, es "sacar" estos campos y ponerlos como tablas relacionadas, algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql> SELECT * FROM clientes;
+------------+----------------+-------------------+
| id_cliente | nombre_cliente | apellido1_cliente |
+------------+----------------+-------------------+
|          1 | cliente uno    | one               |
|          2 | cliente dos    | two               |
|          3 | cliente tres   | three             |
+------------+----------------+-------------------+
3 rows in set (0.00 sec)
 
mysql> SELECT * FROM telefonos;
+-------------+------------+-------------+
| id_telefono | id_cliente | telefono    |
+-------------+------------+-------------+
|           1 |          1 | 111-111-111 |
|           2 |          2 | 222-222-222 |
|           3 |          2 | 222-222-223 |
|           4 |          2 | 222-222-224 |
+-------------+------------+-------------+
4 rows in set (0.00 sec)

En este caso, el cliente 1 tiene registrado un teléfono, el cliente 2 tiene registrados 3 teléfonos y el cliente 3 no tiene registrado ninguno. De esta manera NO QUEDAN CAMPOS CON VALORES NULOS, y si quisieras registrar más de 2 teléfonos, SIMPLEMENTE AGREGAS MÁS REGISTROS A LA TABLA.

¿Se entiende? Pero para bien o para mal, no hay una "mejor" forma de modelar tus tablas, todo es de acuerdo a tus necesidades.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 27 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

optimizar tabla de registros

Publicado por Rodrigo (2 intervenciones) el 18/06/2018 19:08:57
Muchas gracias por tu comentario, efectivamente de los 5000 registros muchos no tienen correo ni 2 teléfonos, te agradezco tu opinión muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar