Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/08/2012, 19:04
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Insertar registro en la última fila

Cita:
Iniciado por t0n1 Ver Mensaje
Ah! ¿entonces los registros están subidos en forma ascendente per se, y se solucionaría con un simple order by?
La operación INSERT no sigue un orden ascendente para insertar registros, lo que puede pasar son dos cosas:

1. Si la tabla tiene un índice clustered, el registro se inserta en la página correspondiente al valor de la columna indexada, y si la página no tiene espacio suficiente, el motor hace un split dejando la mitad de los registros en la página actual y la otra mitad en la página nueva.

2. Si la tabla no tiene un índice clustered, el motor ejecuta un proceso llamado Page Free Space para determinar la primera página con espacio libre para insertar el nuevo registro.

En ambos casos, es posible que se inserten registros al principio, al medio o al final de la tabla, pero en ningún caso se relaciona con un orden ascendente.

Y por otro lado, ningún SELECT garantiza devolver los registros según el orden físico, aún si la tabla tiene un índice clustered, y esto es porque el orden físico solo se utiliza para optimizar la consulta, no porque tenga un significado para el modelo de datos, por lo tanto, debes utilizar un ORDER BY siempre que quieras visualizar los registros ordenados.

Saludos