Базы данных SQL Server ведут себя произвольно в отношении порядка строк в наборе результатов, если только порядок не указан с помощью ORDER BY
(см. ссылка ).
Нет простого способа определитьчто происходит в случае, когда ORDER BY
не указано, но на практике кажется, что оно часто может совпадать с существующим индексом или первичным ключом. Таким образом, если есть случай, когда ORDER BY
на первичном ключе отсутствует, эта ошибка может легко остаться незамеченной.
Существует ли простой способ предотвратить это, например, заставить базу данных рандомизировать эти результаты во времятестирование, как если бы ORDER BY NEWID()
был добавлен к каждому доступу к данным?