MySQL senior engineering

MySQL database services for Laravel apps that outgrew naive queries

Slow listings, missing indexes, nightly reports timing out. MySQL tuning by someone who ships Laravel plus MySQL in production.

Available for new projects
See Custom Web Apps

Starting at $3,499/mo · monthly subscription

Who this is for

Team with a Laravel or PHP app on MySQL that is outgrowing naive queries.

The pain today

  • Slow listing pages with LIMIT and OFFSET on large tables.
  • Missing composite indexes; EXPLAIN is not in the dev workflow.
  • Nightly reports timing out and blocking the replica.
  • Backup strategy is 'mysqldump to S3 and hope'.

The outcome you get

  • A senior MySQL-literate engineer (Laravel-first).
  • Indexes that match the access pattern — composite order matters.
  • Nightly reports moved to read replica or to a proper warehouse.
  • Backup and PITR plan tested end to end.

What the MySQL engagement covers

MySQL work under the Applications subscription covers: schema review (normalization, constraint discipline, column types, CHARACTER SET and collation), index strategy (composite indexes ordered by cardinality, covering indexes, hash vs btree for specific patterns), query tuning (EXPLAIN plan review, slow-query log analysis, Performance Schema queries), replication setup (source-replica, multi-source for aggregation), backups (mysqldump plus Percona XtraBackup for hot backups, binary logs for PITR), and observability (Prometheus mysqld_exporter, slow-query alerting). Laravel-specific patterns (Eloquent eager loading, chunkById for large iterations, cursor pagination over offset-based) are part of the default.

MariaDB is supported too

MariaDB is a drop-in replacement for MySQL in most practical applications and the audit treats it the same way (with a small list of divergences — JSON support, sequences, window function quirks). If your Laravel app runs on MariaDB, the audit and tuning engagement is identical. If you are deciding between MariaDB and MySQL for a new project, the recommendation is usually MySQL 8 unless you specifically need MariaDB's Galera clustering or a particular divergent feature.

Laravel + MySQL patterns that ship

Patterns I use across Laravel plus MySQL apps: chunkById over get() for any query returning more than a few thousand rows, lazy collections for streaming large result sets, cursor-based pagination for public API list endpoints, DB::table() over Eloquent for analytical reads (skip model hydration), composite indexes matched to the exact WHERE plus ORDER BY shape, and explicit transaction boundaries (not 'one transaction per request'). Each pattern shows up repeatedly in the audits and is documented in the engagement README.

Pricing and scope

Applications subscription at $3,499 per month flat. MySQL work is part of the broader Laravel engagement rather than a separate line item. Pure MySQL audits (schema review, tuning plan, no code) bill against the Advisory rate at $4,500 per month pro-rated for 1 to 3 week scope.

Recent proof

A comparable engagement, delivered and documented.

High-Performance Web Portal

Rebuilt a real estate portal at a fraction of the cost

Rebuilt Imóveis SC's real estate portal as ImoHub — a faster, more scalable successor — handling 120k+ properties with sub-second search and drastically reduced AWS costs.

Real Estate120k+ properties70% cost cutTop 3 Google rankings
Read the case study

Frequently asked questions

The questions prospects ask before they book.

MySQL 5.7 or 8?
MySQL 8 for all new work. MySQL 5.7 reached end of life in October 2023 — if you are still there, the upgrade is a scheduled line in the audit.
Should I migrate to Postgres?
Only when the app actually needs Postgres features (JSONB at scale, PostGIS, full-text with tsvector, window-function-heavy analytics) or when the team strongly prefers Postgres. MySQL 8 is fine for most Laravel CRUD apps.
Managed or self-hosted?
Managed by default — RDS for MySQL, Aurora MySQL, PlanetScale, or Google Cloud SQL. Self-hosted only with a specific reason.
Replication setup?
Source-replica for read scaling and failover. Binary log position plus GTID for safety. Multi-source replication only when aggregating multiple databases into one.
Does Laravel 11 work with MySQL 8?
Yes. Laravel 11 plus MySQL 8 is well-supported. Eloquent fully supports MySQL 8 features (JSON, CTEs via raw SQL, window functions via selectRaw).
Get started in 60 seconds

Ready to start?

Tell me what you need in 60 seconds. Tailored proposal in your inbox within 6 hours.

Available for new projects