STEP 8: Query Optimization Test

Test Suite Control

Unified query helpers & optimized sorting/filtering

Query Optimization Functions

getCombinedFlashcards(email, options)

Parallel query for vocab + writing flashcards with unified filtering

Returns: vocabulary, writing, all, filtered, paginated, totalCount

getCombinedSchedules(email, options)

Parallel query for both schedule types with unified filtering

Returns: vocabulary, writing, all, totalCount

sortFlashcards(cards, sortKey, schedules)

Sort cards: newest | oldest | a-z | z-a | mastery-high | mastery-low

filterFlashcards(cards, criteria)

Filter by: type | category | status | search

cardsWithSchedules(cards, schedules)

Batch operation to attach schedules to all cards at once

✓ Key Optimizations Implemented:

  • Parallel queries (Promise.all) for vocab + writing flashcards/schedules
  • Unified type discrimination with cardType field
  • Reusable sort & filter functions work on merged data
  • Batch operation getCardWithSchedule for efficient data joining
  • Performance metrics tracking for query analysis
  • Client-side pagination support on merged results