Nie ma takiego porządku. Pobrane z http://forums.mysql.com/read .php? 21,239471,239688#msg-239688
Nie polegaj na zamówieniu, gdy brakuje ORDER BY.
Zawsze podawaj ORDER BY, jeśli chcesz mieć określone zamówienie — w niektórych sytuacjach silnik może wyeliminować ORDER BY, ponieważ wykonuje inny krok.
- GROUP BY wymusza ORDER BY. (Jest to naruszenie standardu. Można tego uniknąć, używając ORDER BY NULL.)
SELECT * FROM tbl
-- to wykona "skanowanie tabeli". Jeśli tabela nigdy nie zawierała żadnych DELETE/REPLACE/UPDATEs, rekordy będą znajdować się w kolejności wstawiania, stąd to, co zaobserwowałeś.Gdybyś zrobił to samo z tabelą InnoDB, zostałyby one dostarczone w kolejności PRIMARY KEY, a nie kolejności INSERT. Ponownie, jest to artefakt podstawowej implementacji, a nie coś, na czym można polegać.