Your database
Performance
Security & compliance
Cost
Stability
Code quality
Schema & indexes
The structural problems that only appear at scale.
Overview
Reads catalog and statistics metadata from a directly-connected SQL or MongoDB database — table sizes, index definitions, key constraints — and reports the structures that will not hold up as row counts grow. Read-only, and never your data.
What it looks for
- Tables with no primary key
- Foreign keys with no covering index
- Large tables carrying only their base or primary-key index
- SQL Server heaps with no clustered index
- MongoDB collections with no indexes, and slow-query signals from statistics
Why it matters
An unindexed foreign key turns every join and every cascading delete into a sequential scan, and the cost grows with the table. A table with no primary key has no reliable way to address a single row, which makes replication and deduplication unsound.
Rules in this check
| What it reports | Fix path |
|---|---|
| Table has no primary key | Guide |
| Foreign key has no covering index | Guide |
| Large table with only its base/PK index | Guide |
| SQL Server heap (no clustered index) | Guide |
| MongoDB collection with no indexes | Guide |
| MySQL table not utf8mb4 | Guide |
| MySQL table uses MyISAM (no transactions) | Guide |
| Large MongoDB collection with only the _id index | Guide |
| SQL Server auto-shrink enabled | Guide |
| Slow-query signal (normalized) | Guide |
| Heap cache-hit ratio under 0.90 on a hot table | Guide |
How the fixes arrive
GuideChanges only you can make safely arrive as a step-by-step guide you can follow yourself or hand to your coding agent.
Run them all on your app
Connect your repo and your live services with read-only scopes. The first scan is free, and nothing changes without your approval.