es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Después de insertar a través de una instrucción SELECT, los registros de Redshift no están en orden.

Estoy intentando poblar una tabla de dimensión de fecha en Redshift.

Puedo poblarla con esta consulta.

insert into fecha_dimension...
....................
select ......
   from 
    (
      SELECT
        '2020-12-31' :: DATE + seq AS datum,
        seq
      FROM (SELECT row_number() over () AS seq FROM stl_scan LIMIT 365 ) 
      ORDER BY seq
    ) 

Pero los datos poblados no están en orden al seleccionarlos, como en el ejemplo a continuación.

Si agrego un “Order by”, entonces los datos son correctos. Esto parece extraño. ¿Por qué sucede esto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    La razón por la cual los datos no están en orden al seleccionar sin una cláusula ORDER BY se debe a que Redshift es una base de datos paralela y el orden de las filas no está garantizado a menos que se especifique. La instrucción SELECT sin una cláusula ORDER BY devolverá los datos en cualquier orden, dependiendo de cómo Redshift distribuyó los datos entre sus nodos para su procesamiento. Por lo tanto, siempre es recomendable incluir una cláusula ORDER BY para garantizar el orden deseado de los datos. En este caso, agregar una cláusula ORDER BY a la consulta externa ordenará los datos en el orden deseado.

Comments are closed.