Будет ли SQL Server 2000 иметь возможность использовать индексы в представлении для объединения представления на связанных серверах - PullRequest
1 голос
/ 16 марта 2010

У меня есть следующий сценарий:

2 сервера БД (связаны друг с другом)

DB1 имеет (большую) таблицу с записями транзакций У DB2 есть (еще не такая большая) таблица с записями транзакций (аналогичного характера, но без некоторых данных, поскольку это другая система) Существует множество отчетов, которые извлекают записи из таблицы транзакций в DB1 и объединяют их с множеством таблиц из DB1.

Я могу использовать данные в DB1, чтобы данные из DB2 выглядели как данные в DB1.

Если я создаю представление в DB1, которое извлекает данные транзакции из DB2 и объединяет его с данными из DB1, чтобы иметь те же столбцы, что и данные транзакции в DB1, а затем создаю другое представление, объединяющее все данные из DB1 и первое представление, будут ли запросы к этому второму представлению по-прежнему использовать какой-либо из индексов данных транзакций в DB1 и DB2?

Или есть более эффективные способы ретроспективного согласования данных из новой системы со старой системой, чтобы старые отчеты могли сообщать о новых данных?

1 Ответ

0 голосов
/ 16 мая 2011

Не зная более подробной информации о вашей настройке, я думаю, что вы должны оставить данные для двух систем на месте, независимо от того, заканчиваются ли запросы через связанные серверы индексами. То, как вы настроили вещи, звучит разумно, учитывая обстоятельства. Однако я думаю, что поскольку вы знаете , что вам нужно объединить два набора данных, я бы подумал о переносе данных с одного сервера на другой, если один сервер может обрабатывать обе транзакции. Это должно обеспечить лучшую производительность в целом для ваших запросов, я думаю. Опять же, это будет сильно зависеть от того, на что похожа ваша серверная и сетевая инфраструктура.

...