Данные в двух базах данных, нетерпеливый спул в результате запроса - PullRequest
1 голос
/ 31 марта 2010

У меня есть две базы данных в SQL2k5: одна содержит большой объем статических данных (база данных SQL 1) (никогда не обновляется, но часто вставляется в нее), а другая содержит реляционные данные (база данных SQL 2), связанные со статическими данными. Они разделены главным образом из-за корпоративных руководящих принципов и требований бизнеса: предположим, что объединение их нецелесообразно.

В SQLDB2 есть места, на которые ссылаются PK в SQLDB1; Триггеры управляют ссылочной целостностью, поскольку взаимосвязи между базами данных в SQL Server вызывают проблемы. НО, из-за большого объема данных в SQLDB1, я получаю нетерпеливые спули на запросы, которые соединяются с идентификатором в SQLDB2, который ссылается на данные в SQLDB1. (Со мной пока что? Может пример поможет:)

SELECT t.Id, t.Name, t2.Company 
FROM SQLDB1.table t INNER JOIN SQLDB2.table t2 ON t.Id = t2.FKId

Этот запрос приводит к нетерпеливой очереди, что составляет 84% от загрузки запроса; таблица в SQLDB1 имеет 35 миллионов строк, поэтому этот запрос полностью перекрыт. Я не могу создать представление таблицы в SQLDB1 и использовать его в качестве моего FK / index; он не хочет, чтобы я создал ограничение на основе представления.

Кто-нибудь знает, как я могу исправить это огромное узкое место? (Если не считать статических данных в первом БД: поверьте, я утверждал, что один, пока я не посинел, безрезультатно.)

Спасибо!

валькирия

Редактировать: также нельзя создать индексированное представление, потому что нельзя привязать схему к представлению, которое ссылается на таблицу вне базы данных, в которой находится представление. Черт возьми.

Редактировать 2: добавление в указатели индекса не имеет значения.

1 Ответ

0 голосов
/ 05 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...