Lars-Jørgen Kristiansen
05/11/2020, 8:22 PMmodel User {
id Int @default(autoincrement()) @id
email String @unique
name String?
posts Post[]
}
model Post {
id Int @default(autoincrement()) @id
authorId Int?
content String?
published Boolean @default(false)
title String
author User? @relation(fields: [authorId], references: [id])
}
If i run this query:
query {
filterPosts{
id
title
author {
name
}
}
}
Why does prisma run 3 SQL queries?
SELECT "public"."Post"."id", "public"."Post"."authorId", "public"."Post"."content", "public"."Post"."published", "public"."Post"."title" FROM "public"."Post" WHERE 1=1 OFFSET 0;
SELECT "public"."Post"."id", "public"."Post"."authorId" FROM "public"."Post" WHERE "public"."Post"."id" IN (1,2,3,4,5,6) OFFSET 0;
SELECT "public"."User"."id", "public"."User"."email", "public"."User"."name" FROM "public"."User" WHERE "public"."User"."id" IN (1, 2) OFFSET 0
The second query seems unnecessary?Ahmed
05/11/2020, 9:44 PM{
findManyUser {
id
posts {
id
comments{
id
}
}
}
}
this is query log
prisma:query SELECT `dev`.`User`.`id` FROM `dev`.`User` WHERE 1=1 LIMIT ? OFFSET ?
prisma:query SELECT `dev`.`Post`.`id`, `dev`.`Post`.`authorId` FROM `dev`.`Post` WHERE `dev`.`Post`.`authorId` IN (?,?) LIMIT ? OFFSET ?
prisma:query SELECT `dev`.`Comment`.`id`, `dev`.`Comment`.`postId` FROM `dev`.`Comment` WHERE `dev`.`Comment`.`postId` IN (?,?,?,?,?,?) LIMIT ? OFFSET ?
The problem not in Prisma client the issue in prisma-nexus pluginAhmed
05/11/2020, 9:46 PMLars-Jørgen Kristiansen
05/12/2020, 5:49 AMRyan
05/12/2020, 7:37 AMLars-Jørgen Kristiansen
05/12/2020, 7:38 AMRyan
05/12/2020, 7:51 AMawait prisma.post.findMany({
include: {
author: true,
},
})
Lars-Jørgen Kristiansen
05/12/2020, 7:53 AMLars-Jørgen Kristiansen
05/12/2020, 7:54 AMt.crud.posts
tooRyan
05/12/2020, 8:02 AMprisma
client call directly, it will produce only two queries.Ryan
05/12/2020, 8:05 AMLars-Jørgen Kristiansen
05/12/2020, 10:13 AMAhmed
05/12/2020, 10:24 AM