PrismaPostgresIntermediate
orderBy, take/skip, cursor
তালিকা সাজানো ও page-by-page — বড় dataset-এ cursor।
5টি অংশবাংলা ভাষায়
sort + skip/takets
ts
const page = 2;
const perPage = 10;
const products = await prisma.product.findMany({
orderBy: [{ price: "desc" }, { name: "asc" }],
skip: (page - 1) * perPage,
take: perPage,
});cursor pagination — অনেক operator-কে skip/offset-এর চেয়ে efficient (যথেষ্ট rows scan না হয়) আদর্শ:
const products = await prisma.product.findMany({
where: { active: true },
orderBy: { id: "asc" },
cursor: { id: lastSeenId },
take: 10,
skip: 1, // cursor-row পুনরায় না
});orderByarray — একাধিক column priorityskipবড় offset-এ ধীর — cursor-এ বদলান- count + findMany — total page জানতে
stable order
pagination-যদি data বদলায়, stable secondary (id)-সহ order দিন — না হলে offset-এ duplicate লাফিয়ে যেতে পারে।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।