Порядок чтения данных с диска не гарантирует порядок.
Я думаю что:
сначала произойдет считывание строк и вычисление col2/col1
потом сортировка
и результат запроса попадет в кэш БД в оперативке.
Поэтому если запрашивать подряд, то будет возвращаться кэшированный результат.
Но это не точно, потому что надо знать как внутри работает оптимизатор запросов, на исполнение запроса влияет статистика т.е. недетерминированная операция.
Поэтому нужно измерять по месту производительность если это узкое место. А если нет, то особо не запариваться по таким мелочам.