У меня следующая проблема.
У меня есть таблица Entries
, которая содержит 2 столбца:
EntryID
- уникальный идентификатор
Name
- какое-то имя
У меня есть еще одна EntriesMapping
таблица ( таблица сопоставления «многие ко многим» ), которая содержит 2 столбца:
EntryID
, что относится к EntryID
таблицы Entries
PartID
, что относится к PartID
в отдельной таблице Parts
.
Мне нужно написать SP , который будет возвращать все данные из Entries
таблицы, но для каждой строки в таблице Entries
я хочу предоставить список всех PartID
, зарегистрированных в таблице EntriesMapping
.
Мой вопрос заключается в том, как мне лучше всего подойти к разработке решения, учитывая, что результаты SP будут регулярно обрабатываться приложением, поэтому производительность очень важна.
1.
Должен ли я написать SP, который выберет несколько строк на запись - где, если для данной записи зарегистрировано более одного PartID
- я верну несколько строк, каждая из которых имеет одинаковый EntryID
и Name
но отличается PartID
OR
2.
Должен ли я написать SP, который выберет 1 строку для каждой записи в таблице Entries
и будет иметь поле, которое является string / xml / json , которое содержит все различные PartID
s.
OR
3. Есть какое-то другое решение, о котором я не думаю?
Решение 1 мне кажется, лучший путь, но я буду передавать много повторяющихся данных.
Решение 2 не будет передавать лишние данные, но string / json / xml потребуется дополнительно обработать, перенеся на большее время процессора на элемент.
PS: я чувствую, что это довольно распространенная проблема, но мне не удалось найти какой-либо ресурс, который мог бы предоставить общие решения или некоторые плюсы / минусы для различных подходов.