# Optimizing Database Indexes

> Guidelines for creating efficient database indexes in Appwrite. Use to ensure search and filter operations stay fast.

- Skill: `majiayu000/optimizing-database-indexes` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/optimizing-database-indexes`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/optimizing-database-indexes/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/optimizing-database-indexes

---


# Database Indexing Strategy

## When to use this skill
- When queries are becoming slow.
- Before launching categories, search, or price sorting filters.

## Index Types
- **Key**: For simple equality checks (e.g., `userId`).
- **Fulltext**: For searching titles and descriptions.
- **Unique**: For fields like `email` or `slug` that must not repeat.

## Rules
- **Query Alignment**: Every field used in a `Query.equal` or `Query.orderAsc` should be indexed.
- **Index Order**: For compound queries, the order of attributes in the index matters (e.g., `Price` + `Status`).

## Instructions
- **Monitor**: Watch the Appwrite "Usage" tab to identify slow queries.
- **Limit**: Don't index every single field; it slows down writes (Creation/Updates).

