В этом сообщении блога мы погрузимся в мир частичного выбора в TypeORM и рассмотрим различные методы оптимизации производительности запросов. Мы будем использовать разговорный язык и приводить примеры кода, чтобы сделать концепции более понятными. Итак, начнём!
Метод 1: использование метода «select».
Самый простой способ выполнить частичный выбор в TypeORM — использовать метод «select». Он позволяет вам указать столбцы, которые вы хотите получить из базы данных.
const users = await userRepository.find({
select: ["name", "age", "email"],
});
Метод 2: использование построителя запросов
TypeORM предоставляет мощный построитель запросов, который позволяет создавать сложные запросы. Для частичного выбора можно использовать метод select в построителе запросов.
const users = await userRepository
.createQueryBuilder("user")
.select(["user.name", "user.age", "user.email"])
.getMany();
Метод 3: использование отношений сущностей
Если вы определили отношения между сущностями, вы можете использовать их для выполнения частичного выбора. Это особенно полезно, если вы хотите получить связанные данные вместе с основной сущностью.
const users = await userRepository.find({
select: ["name", "age", "email"],
relations: ["posts", "comments"],
});
Метод 4. Применение отношений с готовностью к загрузке
Используя параметр «loadEagerRelations», вы можете загружать связанные сущности вместе с основной сущностью в одном запросе. Это может помочь сократить количество выполняемых запросов и повысить производительность.
const users = await userRepository.find({
select: ["name", "age", "email"],
loadEagerRelations: true,
});
Метод 5: пользовательский запрос с использованием необработанного SQL
В некоторых случаях вам может потребоваться написать специальные запросы с использованием необработанного SQL. TypeORM позволяет выполнять необработанные SQL-запросы и сопоставлять результаты с вашими объектами.
const users = await userRepository.query(`
SELECT name, age, email
FROM users
`);
В этой статье мы рассмотрели различные методы выполнения частичного выбора в TypeORM. Выборочно извлекая только необходимые данные, вы можете значительно повысить производительность запросов. Мы обсудили использование метода «выбрать», использование построителя запросов, использование отношений сущностей, применение отношений готовности к загрузке и выполнение пользовательских запросов с помощью необработанного SQL. Включение этих методов в ваши проекты TypeORM поможет вам оптимизировать производительность запросов и повысить общую эффективность вашего приложения.