Без ORDER BY
заказ не гарантируется.
Данные читаются параллельно многими процессами (мапперами), после вычисления разбиений каждый процесс начинает чтение некоторого фрагмента файла или нескольких файлов, в зависимости от вычисленных разбиений.
Все параллельные процессы могут обрабатывать разные объемы данных и работать на разных узлах, нагрузка не всегда одинакова, поэтому они начинают возвращать строки и заканчивать в разное время, в зависимости от слишком многих факторов, таких как нагрузка на узел, сеть загрузка, объем данных на процесс и т. д. и т. д.
Сняв все эти факторы, вы сможете повысить точность прогнозирования ордера. Скажем, последовательное чтение из одного потока может возвращать строки в том же порядке, что и в файле. Но это не то, как работает база данных.
Также согласно реляционной теории Кодда, порядок столбцов и строк не имеет значения .