#sql-server #azure
#sql-сервер #azure
Вопрос:
В настоящее время я работаю с Azure SQL; во время работы с ним обнаружена проблема с последовательностью данных в Azure v / s SQL. Когда я запускаю запрос, к которому применено большое количество соединений с TOP, результирующий набор, который я получаю, отличается от результирующего набора, который я получаю на обычном SQL.
например, выберите TOP 20 * из ABC, ПРИСОЕДИНИТЕСЬ К PQR НА ABC.col1=PQR.Col1
Предоставляет мне данные в другом порядке. Допустим, у меня есть 300 записей внутри, я выбрал 20, поэтому в Azure он выдает мне o / p что-то вроде ID 1,2,6,8,10,3,4,5, где, как и в SQL ID: 1,2,3,4,5,6,8,10
Я сталкиваюсь с этой проблемой, когда продолжаю работу с TOP, но top работает аналогичным образом
ПРИМЕЧАНИЕ: данные на обоих серверах БД одинаковы
Ответ №1:
Если вы не укажете ПОРЯДОК к тому времени, порядок, в котором возвращаются данные, не гарантируется, и механизм БД будет выполнять это так, как он хочет. В этом случае, поскольку оба движка одинаковы, более вероятно, что в ваших средах что-то еще отличается или способ / порядок, в котором были загружены ваши данные. Но в любом случае, если вы хотите упорядочить результирующий набор, добавьте предложение ORDER BY в свой SQL.