Orden de registros sin Order By

29/12/2004 - 22:42 por Jose | Informe spam
Si yo tengo un SELECT SIN la cláusula ORDER BY sobre una tabla (una sola)
que tiene una clave primaria clustered, se espera que los registros
seleccionados se muestren SIEMPRE en el orden de la clave primaria ?

ej. SELECT * FROM MITABLA

Preguntas similare

Leer las respuestas

#21 Asterion
02/01/2005 - 19:47 | Informe spam
Estos "escenarios" de los que hablas son fuertemente dependientes de las
secuencias de inserciones y borrados.




"Eladio Rincón" wrote:

Hola,
el problema del que se está hablando es de la recuperación de registros no
de inserción/actualización ...

creo que lo que intentas decir es que en algunos escenarios, la ordenación
de los registros insertados puede ser que no sea físicamente
ascendente/descendente en función del índice agrupado...

la cosa es la siguiente: el hecho de que las filas estén ordenadas en
función del índice agrupado no significa que en cada página los datos de la
fila estén ordenados, lo que si podemos asegurar es que los punteros que
están al final de la página, apuntan a la siguiente fila en la ordenación; a
ver:

Voy a utilizar:
P para nombrar la zona donde están ubicados los punteros,
F para la zona de las filas; al principio de cada linea pongo la dirección
física, por ejemplo 00-01, 00-02, etc;
para referenciar a una dirección física desde la zona de punteros lo voy a
hacer con <00-01>;
[] para indicar el valor del índice agrupado y
{} para un valor varchar ... a ver como queda...

Dada la página 1 de una tabla:

F:
00-01 [1]{abc}
00-02 [2]{ab}
00-03 [5]{ddd}
00-04 [4]{eee}

P: <00-03><00-04><00-02><00-01>

fijaros que en P, el orden es inverso y es porque en realidad se lee en
orden inverso desde el final de la página, por otro lado, las filas no están
físicamente ordenadas

Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Asterion" wrote in message
news:
> No estoy de acuerdo.
>
> En general saldrán ordenados, pero no hay ningún mecanismo que te asegure
> que SIEMPRE saldrán en el orden de la clave primaria. Depende fuertemente
de
> la cantidad de inserciones y borrados.
>



Respuesta Responder a este mensaje
#22 Eladio Rincón
03/01/2005 - 10:01 | Informe spam
Hola,

no entiendo lo que quieres decir:

Estos "escenarios" de los que hablas son fuertemente dependientes de las
secuencias de inserciones y borrados.




Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Asterion" wrote in message
news:



Estos "escenarios" de los que hablas son fuertemente dependientes de las
secuencias de inserciones y borrados.




"Eladio Rincón" wrote:

> Hola,
> el problema del que se está hablando es de la recuperación de registros


no
> de inserción/actualización ...
>
> creo que lo que intentas decir es que en algunos escenarios, la


ordenación
> de los registros insertados puede ser que no sea físicamente
> ascendente/descendente en función del índice agrupado...
>
> la cosa es la siguiente: el hecho de que las filas estén ordenadas en
> función del índice agrupado no significa que en cada página los datos de


la
> fila estén ordenados, lo que si podemos asegurar es que los punteros que
> están al final de la página, apuntan a la siguiente fila en la


ordenación; a
> ver:
>
> Voy a utilizar:
> P para nombrar la zona donde están ubicados los punteros,
> F para la zona de las filas; al principio de cada linea pongo la


dirección
> física, por ejemplo 00-01, 00-02, etc;
> para referenciar a una dirección física desde la zona de punteros lo voy


a
> hacer con <00-01>;
> [] para indicar el valor del índice agrupado y
> {} para un valor varchar ... a ver como queda...
>
> Dada la página 1 de una tabla:
>
> F:
> 00-01 [1]{abc}
> 00-02 [2]{ab}
> 00-03 [5]{ddd}
> 00-04 [4]{eee}
>
> P: <00-03><00-04><00-02><00-01>
>
> fijaros que en P, el orden es inverso y es porque en realidad se lee en
> orden inverso desde el final de la página, por otro lado, las filas no


están
> físicamente ordenadas
>
> Eladio Rincón
> SQL Server MVP
>
> Solid Quality Learning (http://www.solidqualitylearning.com)
> "Comparte lo que sabes, aprende lo que no sepas", FGG
>
> Consulte el histórico del grupo en Google
> http://groups.google.com/groups?gro....sqlserver
>
> ¿Te interesa participar en las reuniones
> del grupo de Usuarios de SQL-Server y .NET
> Se harán en levante de España, (Alicante o Murcia)?
>
> "Asterion" wrote in message
> news:
> > No estoy de acuerdo.
> >
> > En general saldrán ordenados, pero no hay ningún mecanismo que te


asegure
> > que SIEMPRE saldrán en el orden de la clave primaria. Depende


fuertemente
> de
> > la cantidad de inserciones y borrados.
> >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida