Neexistuje žádná záruka, že řádky budou vráceny v jakémkoli konkrétním pořadí bez ORDER BY
klauzule v dotazu.
Zvažte jednoduchý dotaz, který vrátí všechny sloupce všech řádků v tabulce. Například:
SELECT * FROM mytable ;
U tohoto dotazu je pravděpodobné, že MySQL provede úplné prohledání tabulky od začátku tabulky. Je tedy pravděpodobné, že řádky budou vráceny v pořadí, v jakém se nacházejí ve fyzickém úložišti.
To může zhruba odpovídat pořadí, ve kterém byly vkládány řádky, pokud nedošlo k žádnému odstranění, aktualizaci ani reorganizaci, kde bylo místo pro vložený řádek později uvolněno a znovu použito k uložení nově vloženého řádku.
Toto chování však NENÍ zaručeno.
Chcete-li vrátit řádky v pořadí, v jakém byly vloženy, musí dotaz specifikovat pořadí, ve kterém mají být řádky vráceny, a to zahrnutím ORDER BY
doložka.
Aby byly řádky vráceny v "pořadí vložení", to znamená, že dotaz musí mít tyto informace k dispozici nebo je musí být schopen odvodit. Pro jednoduchý dotaz na jednu tabulku to znamená, že informace musí být uloženy v řádku.