sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es el orden de selección predeterminado en PostgreSQL o MySQL?

Puedo responder por MySQL. No sé para PostgreSQL.

El orden predeterminado no es el orden de inserción, generalmente.

En el caso de InnoDB, el orden predeterminado depende del orden de lectura del índice para la consulta. Puede obtener esta información del plan EXPLAIN.

Para MyISAM, devuelve los pedidos en el orden en que se leen de la tabla. Esto podría Sea el orden de inserción, pero MyISAM reutilizará los espacios después de que elimine los registros, por lo que las filas más nuevas se pueden almacenar antes.

Nada de esto está garantizado; es solo un efecto secundario de la implementación actual. MySQL podría cambiar la implementación en la próxima versión, haciendo que el orden predeterminado de los conjuntos de resultados sea diferente, sin violar ningún comportamiento documentado.

Entonces, si necesita los resultados en un orden específico, debe usar ORDER BY en sus consultas.