Сможет ли SQL Server 2000 использовать индексы в представлении вместо объединения представления на связанных серверах?

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

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

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

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

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

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


person My Other Me    schedule 16.03.2010    source источник


Ответы (1)


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

person Brett Rossier    schedule 16.05.2011