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

Reparar saltos de numero en ID

Estas en el tema de Reparar saltos de numero en ID en el foro de Mysql en Foros del Web. Hola, tengo varias tablas que por razones de uso (actualizar, borrar, crear, etc) el campo de index ID tiene saltos en los numeros, es decir ...
  #1 (permalink)  
Antiguo 08/09/2006, 15:20
 
Fecha de Ingreso: enero-2002
Ubicación: Mar del Plata
Mensajes: 243
Antigüedad: 22 años, 3 meses
Puntos: 0
Reparar saltos de numero en ID

Hola, tengo varias tablas que por razones de uso (actualizar, borrar, crear, etc) el campo de index ID tiene saltos en los numeros, es decir por ejemplo:

ID NOMBRE
1 Juan perez
2 Mario Gomez
7 Miguel Juarez
25 Sonia Dominguez
45 etc
46 etc
47 etc
99 etc

Yo utilizo "Mysql control center" para administrar las tablas y veo que tiene una herramienta que se llama "optimizar" pero cuando la uso no re-indexa la tabla, no cambia nada, pese a que dice que la tabla fue correctamente optimizada.

Debo arreglar esos indices? O no tiene importancia ?
Como puedo hacerlo desde Mysql Control ?
  #2 (permalink)  
Antiguo 08/09/2006, 15:26
foo
 
Fecha de Ingreso: febrero-2006
Mensajes: 278
Antigüedad: 18 años, 2 meses
Puntos: 0
tienes conceptos errados:
segun tu, que es un indice?
que significa para ti reindexar?
  #3 (permalink)  
Antiguo 08/09/2006, 15:45
 
Fecha de Ingreso: enero-2002
Ubicación: Mar del Plata
Mensajes: 243
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola, mi pregunta apunta a si es importante o no reordenar el campo ID de una tabla (el que se configura como campo clave que muestra con un numero unico cada nuevo registro que ingreso a mi tabla) si estos fueron borrados durante el uso normal del sitio (por altas y bajas de datos, etc) y tengo saltos entre ellos.

Como explique antes, si la correlacion en una tabla era de 1,2,3,4,5,etc y ahora debido a altas y bajas se ven como 1,5,6,7,20,etc ....Debo arreglar estos indices con las herramientas que provee phpmyadmin o mysql control center ? O no es para eso la herramienta optimizar ?


Gracias
  #4 (permalink)  
Antiguo 08/09/2006, 16:28
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Si tu campo es autoincrement (el que tenes como llame) el control de la numeración la lleva internamente el motor de BD, si borrar cualquier elemento, NO reacomoda los números porque sigue la cuenta a partir de donde quedo.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 10/09/2006, 02:05
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Cuando tu eliminas un registro el archivo de base de datos elimina logicamente el registro, por tanto lo lo ves mas, pero queda un residuo ocupado, la opcion que mencionas "optimizar" lo que hace es reorganizar la info para que ese residuo desaparezca.

Aca esta lo que dice la documentacion del MySQL, lo mismo que digo pero explicado a su manera.
Cita:
OPTIMIZE TABLE debe ser usado si ha borrado una gran parte de una tabla o si ha hecho muchos cambios a una tabla con filas de longitud variable (tablas que tienen columnas VARCHAR, BLOB o TEXT). Los registros borrados son mantenidos en una lista enlazada y las subsecuentes operaciones INSERT reusan las posiciones de los registros anteriores. Puede utilizar OPTIMIZE TABLE para reclamar ese espacio inutilizado y para desgragmentar el archivo con los datos.
En definitiva, esto no hara que se renumeren los registros, pero optimizara espacio y tambien el consumo de CPU ya que aliviana los procesos.

Igualmente si es un requisito por X causa el que si o si tengas que tener los registros numerados de manera consecutiva puedes:
- crear una tabla temporal vacia con la misma estructura
- recorrer tu vieja tabla
- leer los registros de la vieja tabla
- insertarlos en la nueva tabla
- eliminar la vieja tabla
- renombrar la nueva como vieja

y esta como tiene registros nuevos recien creados (aunque sean a partir de la otra) estaran numerados 1 a 1.

En este caso debes tener cuidado si el Id de esta tabla no guarda referencia con otras tablas asociadas, en cuyo caso deberias reasignar la nueva Id.
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #6 (permalink)  
Antiguo 11/09/2006, 08:10
 
Fecha de Ingreso: enero-2002
Ubicación: Mar del Plata
Mensajes: 243
Antigüedad: 22 años, 3 meses
Puntos: 0
Gracias A Todos:)
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 01:23.