Jonathan Marbutt
02/25/2022, 8:32 PMconst users = await prisma.user.findMany({
where: {
posts: {
none: {
views: {
gt: 100,
},
},
every: {
likes: {
lte: 50,
},
},
},
},
})
It generated a pretty bad sql statement that looked something like this (not exact because I using a combination of examples)
SELECT "public"."contact"."id", "public"."contact"."uuid", "public"."contact"."contact_id" "public"."contact"."login_id" FROM "public"."contact" WHERE "public"."contact"."contact_id" IN ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42,$43,$44,$45,$46,$47,$48,$49,$50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$90,$91,$92,$93,$94,$95,$96,$97,$98,$99,$100,$101,$102,$103,$104,$105,$106,$107,$108,$109,$110,$111,$112,$113,$114,$115,$116,$117,$118,$119,$120,$121,$122,$123,$124,$125,$126,$127,$128,$129,$130,$131,$132,$133,$134,$135,$136,$137,$138,$139,$140,$141,$142,$143,$144,$145,$146,$147,$148,$149,$150,$151,$152,$153,$154,$155,$156,$157,$158,$159,$160,$161,$162,$163,$164,$165) OFFSET $166
This seems like it would not work for larger applications using Postgres since we have many queries that may have 10k or 50k items that are in the IN
array. Is it recommended to just go straight sql for those type of queries?Jonathan Marbutt
02/26/2022, 6:13 PMIan Ray
02/27/2022, 2:56 AMIan Ray
02/27/2022, 2:57 AMJonathan Marbutt
02/27/2022, 2:59 AMIan Ray
02/27/2022, 3:02 AMIN
set coming from?Ian Ray
02/27/2022, 3:03 AMJonathan Marbutt
02/27/2022, 3:04 AM