Данные физически хранятся в кластерном индексе, который обычно является первичным ключом, но не обязательно.
Не гарантируется, что данные в SQL будут иметь порядок без предложения ORDER BY. Вы всегда должны указывать предложение ORDER BY, когда вам нужно, чтобы данные были в определенном порядке. Если таблица уже отсортирована таким образом, оптимизатор не будет выполнять какую-либо дополнительную работу, поэтому ее не будет вредно.
Без предложения ORDER BY СУБД может возвращать кэшированные страницы, соответствующие вашему запросу, в то время как она ожидает чтения записей с диска. В этом случае, даже если в таблице есть индекс, данные могут не входить в порядок индекса. (Обратите внимание, что это только пример - я не знаю или даже не думаю, что реальные СУБД сделают это, но это приемлемое поведение для реализации SQL.)
EDIT
Если вы оказываете влияние на производительность при сортировке по сравнению с отсутствием сортировки, вы, вероятно, сортируете по столбцу (или набору столбцов), который не имеет индекса (кластеризованного или иного). Учитывая, что это временные ряды, вы можете сортировать по времени, но кластерный индекс находится на первичном bigint. SQL Server не знает, что оба значения увеличиваются одинаково, поэтому ему приходится прибегать ко всему.
Если столбец времени и столбец первичного ключа связаны по порядку (один увеличивается, если и только если другой увеличивается или остается неизменным), вместо этого выполните сортировку по первичному ключу. Если они не связаны таким образом, переместите кластерный индекс из первичного ключа в любой столбец (столбцы), по которому вы сортируете.