У меня есть две таблицы в двух схемах - schema1 и schema2. Обе таблицы имеют одинаковую конструкцию, за исключением того, что Schema2 имеет кластерный индекс первичного ключа таблиц.Как индекс влияет на результат двух таблиц - один с индексом, а другой без индекса?
таблица SCHEMA1 не имеет первичный ключ (Это как старый дизайн был и Я, чтобы обновить его с новой конструкцией схемы, которая SCHEMA2)
В схеме 2, col_1 является первичным ключом table1 и (COL_4, COL_12) являются ключами для таблицы 2, которые индексируются.
Table1 (col_1, col_2, col_3, col_4 ... col_10) Table2 (col_1, col_4, col_12, .... col_20)
У меня есть запрос, который извлекает данные из table1, и как следует
SELECT t1.COL_1,t1.COL_2, t1.COL_3, t1.COL_4,t1.COL_5
FROM table1 t1
LEFT JOIN table2 t2 ON
t2.COL_1 = t1.COL_1,
AND t2.COL_4 = t1.COL_4
WHERE
t1.col_10 = '/some string/'
Когда я запускаю этот запрос в обеих схемах, я получаю количество строк, полученных таким же образом. Но порядок строк не совпадает, и я не знаю, как сравнивать данные в обоих.
Мои вопросы.
- Могу ли я предположить, что оба результата в двух схемах совпадают, только совпадающие с совпадением строк?
- Выполняются ли разные результаты, если есть индекс в таблицах в схеме2?
Я хотел бы иметь представление о вышеуказанном поведении.
Заранее спасибо.
'Могу ли я предположить, что оба результата в двух схемах совпадают, просто 'coz rowcount match?' Я бы не стал. 'Отличаются ли результаты, если, так как есть индекс в таблицах в schema2?' Что касается порядка, вероятно. Проверьте план выполнения, чтобы подтвердить –