PrismaのFluent API
Fluent API
docs
以下2つは同等
code:fluentAPIを使ったもの(ts)
const postsByUser: Post[] = await prisma.user
.findUnique({ where: { email: 'alice@prisma.io' } })
.posts()
code:通常の書き方(ts)
const postsByUser = await prisma.post.findMany({
where: { author: { email: 'alice@prisma.io' } },
})
PrismaのN+1問題の解決方法として使える
通常の書き方をすると、1つの式に対して1つのSQLが作られる
仮にN個のidに対してupdateをかけるなら、N回のSQL実行が行われる
一方で、Fluent APIを使うと、2回で済む
あ、これもしかしてfindManyに対してしか効果ない #??
参考
Query optimization
PrismaPromise とは何か