Проект БД - улучшение производительности с отношениями - PullRequest
0 голосов
/ 15 июня 2011

У меня есть две таблицы, назовем их TableA и TableB. Одна запись в Таблице A связана с одной или несколькими в Таблице B. Но в них есть также одна специальная запись в TableB для каждой записи из TableA (например, с самым низким ID), и я хочу иметь быстрый доступ к этой специальной записи. Данные из обеих таблиц не удаляются - такая история редко очищается. Как это лучше с точки зрения производительности?
Я думал о:
1) двусторонние отношения, но это повлияет на производительность вставки
2) спроектировать следующую таблицу с первичным ключом FK_TableA (для записи TableA точно один «особый») и вторым столбцом FK_TableB, а затем создать представление
3) создать следующую таблицу с первичным ключом FK_TableA, FK_TableB, сделать FK_TableA уникальным, а затем создать представление

Я открыт для всех других идей :)

1 Ответ

1 голос
/ 15 июня 2011

4) Я хотел бы рассмотреть индексированное представление , чтобы скрыть ограничение JOIN и строки

Это похоже на ваши варианты 2 и 3, но механизм БД будет поддерживать их для вас.С новой таблицей вы либо нарушите целостность данных, либо будете вынуждены управлять данными с помощью триггеров

...