Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/09/2013, 06:40
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: por defecto, ¿en que orden devuelve filas?

Cita:
¿quieres decir que en resumen los devuelve aleatoriamente (como minimo, la 1ª vez)?
Aleatoriamente no, los retorna como más rápido los pueda leer, en función de donde/como esten guardados en el disco. Como sabrás la localizacón fisica de la información en el disco no es fija, depende del sistema operativo y este usa algoritmos de optimización para aprovechar el disco. Luego dos ejecuciones de la misa query pueden generar ordenes distintos si entre una y otra ha habido cambios en el disco que asi lo provoquen.

SQL es un lenguage declarativo, dices lo que quieres y el motor optimiza la forma de dartelo, para ello decide las operaciones que debe realizar para conseguirlo. Luego si no dices en que orden quieres los datos el motor los retorna lo más rápido que puede, para que se va a entretener en hacer algo que no le has pedido.

(Lenguage declarativo se confronta a los lenguages imperativos donde dices lo que hay que hacer para obtener lo que quieres).
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 30/09/2013 a las 07:31