MODRACXKENNETH D'SILVA

← Archive & Insights

GraphQL vs. REST API Performance Optimization for E-Commerce

GraphQL prevents over-fetching payload bytes but can trigger N+1 database queries if un-batched. Learn how to implement DataLoader patterns and HTTP GET query hash edge caching.

By Kenneth D'SilvaReading Time: 36 min readCategory: Architecture & Cloud

DataLoader Batching Pattern Code

// JavaScript DataLoader Pattern for Preventing N+1 Database Queries
import DataLoader from 'dataloader';

const productLoader = new DataLoader(async (ids) => {
  const products = await db.query('SELECT * FROM products WHERE id IN (?)', [ids]);
  return ids.map(id => products.find(p => p.id === id));
});

Suggested & Related Reading

Explore related engineering guides from Kenneth D'Silva: