Prisma ORM Query Filtering ve Pagination


Prisma ORM Query Filtering ve Pagination

Modern web ve mobil uygulama geliştirme süreçlerinde veritabanı ile çalışırken efektif ve güvenli veri yönetimi kritik önem taşır. Prisma ORM, TypeScript ve JavaScript için geliştirilmiş popüler bir Object-Relational Mapping (ORM) çözümüdür. Bu makalede, Prisma ORM kullanırken query filtering (sorgu filtreleme) ve pagination (sayfalama) işlemlerinin nasıl yapılacağını pratik kod örnekleriyle açıklayacağız. Prisma ORM Query Filtering ve Pagination kavramlarını öğrenerek uygulamanızda verimli sorgular oluşturabilirsiniz.

Prisma ORM ile Query Filtering

Prisma ORM, veritabanı sorgularında güçlü filtreleme imkanları sunar. Kullanıcıdan gelen kriterlere göre veri çekmek için where parametresi kullanılır. Bu sayede karmaşık arama işlemleri, koşullu filtrelemeler ve ilişkilere özel sorgular kolayca yapılabilir.

Temel Filtreleme Örneği

const users = await prisma.user.findMany({
  where: {
    age: {
      gte: 18,
      lte: 35
    },
    isActive: true
  }
});

gte (büyük veya eşit) ve lte (küçük veya eşit) operatörlerini kullanarak yaş aralığına sahip ve aktif kullanıcıları çekebilirsiniz. Ayrıca contains, startsWith gibi string filtrelemeleri de desteklenir.

Pagination (Sayfalama) ile Büyük Verilerde Performans

Büyük veri setlerinden sadece ihtiyaç kadar veri çekmek performans ve kullanıcı deneyimi açısından çok önemlidir. Prisma ORM, skip ve take parametreleri ile pagination işlemlerini kolaylaştırır. Böylece örneğin, bir e-ticaret uygulamasında ürünleri sayfa sayfa göstermek için kolayca sayfalama yapabilirsiniz.

Pagination Kod Örneği

const page = 2;
const pageSize = 10;
const products = await prisma.product.findMany({
  skip: (page - 1) * pageSize,
  take: pageSize
});

Bu örnekte, ikinci sayfada gösterilecek 10 ürünü çekiyoruz. skip ile atlanacak kayıt sayısı, take ile alınacak kayıt sayısı ayarlanıyor. Farklı filtreler ile birlikte pagination da kullanabilirsiniz:

const products = await prisma.product.findMany({
  where: {
    category: "elektronik"
  },
  skip: (page - 1) * pageSize,
  take: pageSize
});

Sonuç: Etkin ve Verimli Queryler

Prisma ORM Query Filtering ve Pagination konusunu uygulamanızda etkili bir şekilde kullanarak, hem daha hızlı hem de daha esnek veri yönetimi sağlayabilirsiniz. Özellikle büyük ölçekli projelerde performansı korumak ve kullanıcı deneyimini artırmak için bu iki tekniğin önemi büyüktür. Prisma ORM ile doğru query filtering ve pagination yapılarını uygulayarak, veri tabanınızda gereksiz yük oluşmasını engelleyebilir ve modern yazılım geliştirme standartlarını yakalayabilirsiniz.