Я пытаюсь отобразить свойства сотрудника, используя C # WPF view.
У меня есть данные в '2' различных таблицах оракула в моей базе данных:
Структура этих таблиц на высоком уровне ...
Сотрудниктаблица (EMP
) - столбцы:
ID, Name, Organisation
Таблица свойств сотрудника (EMPPR
) - столбцы
ID, PropertyName, PropertyValue
пользователь введет «Список Имени Сотрудника», и мне нужно отобразить свойства Сотрудника, используя данные в этих таблицах «2».
Каждый сотрудник имеет свойства от 40-80, то есть 40-80 строк на сотрудника в EMPPR
Таблица.В этом случае какой подход более эффективен?
Подход № 1 - извлечение данных из одного запроса:
SELECT Pr.PropertyName, Pr.PropertyValue
FROM EMP Emp, EMPPR Pr
WHERE Emp.ID = Pr.ID
AND Emp.Name IN (<List of Names entered>)
Подход № 2 - получение списка идентификаторов с помощью одного запроса и получение свойств с использованием этого идентификатораво втором запросе
Запрос № 1:
SELECT ID
FROM EMP
WHERE Name IN (<List of Names entered>)
Query #2:
SELECT PropertyName, PropertyValue
FROM EMPPR
WHERE ID IN (<List of IDs got from Query#1>)
Мне нужно получить ~ 10K сведений о сотруднике сразу, где каждый сотрудник имеет 40-80 свойств.
Какой подходэто хорошо?