Sequelize, кажется, вводит ненужные запросы при добавлении новой связанной записи к исходной записи.
Например, рассмотрим обычную ассоциацию «многие ко многим» с моделью «Пользователи» и моделью «Группы», где пользователь belongsToMany
группы, а каждая группа belongsToMany
пользователей.
Если я создаю новую запись пользователя, а затем добавляю к этому пользователю две существующие группы, Sequelize выполняет то, что кажется лишним, ненужным
SELECT` запрос:
const record = await Users.create({id: 1, name: 'John'})
await record.addGroups([2,3]);
Вышеупомянутый вызов record.addGroups([2,3])
приводит к этим двум MySQL запросам:
SELECT group_id
, user_id
,
FROM user_groups
WHERE user_groups.user_id = 1
AND user_groups.group_id IN ('2', '3');
INSERT INTO user_groups (group_id,user_id) VALUES
('2','1'),('3','1');
1) Какова причина первого SELECT
запроса выше?
2) Есть ли какие-либо преимущества, включая этот запрос?
3) Есть ли способы отключить этот дополнительный запрос SELECT
?