Basic Syntax
Create Index
| Database | Output |
|---|---|
| PostgreSQL | CREATE INDEX idx_email ON users (email) |
| MySQL | CREATE INDEX idx_email ON users (email) |
Unique Index
| Database | Output |
|---|---|
| PostgreSQL | CREATE UNIQUE INDEX idx_email ON users (email) |
| MySQL | CREATE UNIQUE INDEX idx_email ON users (email) |
Drop Index
| Database | Output |
|---|---|
| PostgreSQL | DROP INDEX IF EXISTS idx_email |
| MySQL | DROP INDEX idx_email ON users |
When to Use Indexes
| Use Case | Recommendation |
|---|---|
| Frequent WHERE clauses | Index the filtered column |
| Unique constraints | Use UNIQUE index |
| Foreign keys | Index the reference column |
| Sorting | Index the ORDER BY column |
Index Best Practices
Do:- Index columns used in WHERE clauses
- Index columns used in JOIN conditions
- Index columns used in ORDER BY
- Use unique indexes for email, username, etc.
- Over-index (slows down writes)
- Index rarely queried columns
- Index very small tables
Complete Examples
User Table
Order Table
Database Support
| Feature | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| Single column index | ✅ | ✅ | Via driver |
| UNIQUE modifier | ✅ | ✅ | Via driver |
| DROP INDEX | ✅ | ✅ | Via driver |
Limitations
Current index implementation supports:- Single column indexes
- UNIQUE constraint

