TableStudio is a native Mac client for MySQL. It shows you where MySQL spends its time and why. It catches the settings and schema choices that cause trouble later, like a non-InnoDB table, a legacy character set or a TIMESTAMP that stops in 2038. It runs MySQL on your Mac, and lets coding agents like Claude Code, Codex and Cursor in under rules TableStudio enforces itself.
See what MySQL spends its time on
Query Insights reads performance_schema and ranks the statements MySQL runs by total time, average time, calls or rows. For each one it reads the plan and explains what's wrong, in MySQL's own terms.
It catches full scans. It catches joins that compare columns of different types or collations, which can't use an index. It catches an ENUM compared with a number, a REPLACE that deletes the old row before inserting, and an ON DUPLICATE KEY UPDATE on a table with several unique keys. Then it tells you the fix.
What TableStudio does for MySQL
Built around InnoDB, performance_schema and the mistakes MySQL lets you make.
Coding agents on MySQL
- Reads run in a read-only session with a 30-second limit.
INTO OUTFILEand other statements with side effects are refused.- Writes can be dry-run against the real rows; production changes wait for your review and Touch ID.
- Every AI change can be undone, and the plugin stops
mysql, Prisma and Rails from writing to production from the terminal. - An agent can't flip a production server to development or switch off read-only without your Touch ID.
Connect
- Paste a
mysql://URL into Host and every field fills itself. - PlanetScale, Amazon RDS, Railway, DigitalOcean, Aiven and Azure, directly, over SSH or with SSL.
- Link your PlanetScale account and its tools work next to TableStudio's.
- Pick up the MySQL servers Homebrew set up, or the databases in your projects'
.envfiles.
Schema mistakes, caught early
- Tables not on InnoDB, with the conversion ready to review.
- Columns in a legacy character set, with the move to
utf8mb4, and collations that differ from the column they join to. - UUID strings as the primary key, money stored as
FLOAT, andTIMESTAMPcolumns that can't go past January 2038. - Duplicate, redundant, never-used and forgotten invisible indexes, and tables carrying more index than data.
Server settings that bite
- Binary logging off, not synced on every commit, never purged, or logging statements instead of rows.
- Strict mode off, so bad values are silently truncated.
- A replica that accepts writes or skips replication errors.
- The query cache or general query log left on, and
LOAD DATA LOCALallowed. - Temporary tables spilling to disk, deadlocks per hour, and auto-increment columns running out of values.
Indexes you can test
- Make an index invisible to the optimizer and watch what slows down before you drop it.
- Drop the duplicate or redundant ones with the SQL in front of you.
Rows and results
ENUMandSETcolumns become dropdowns of their allowed values.- Hover a foreign key to preview the referenced row.
- Edit several rows, review the pending changes, and commit them together.
- Import CSV or TSV, export to CSV, TSV, JSON, SQL, Markdown or Excel, and generate fake rows that respect foreign keys.
SQL
- Autocomplete that knows your databases, tables and columns.
- Plans from
EXPLAIN FORMAT=JSONdrawn as a tree. - AI that writes MySQL, not generic SQL, and fixes the error a query just threw.
- Jump into the
mysqlcommand-line client, already connected.
Dashboard
- MySQL's own widget packs: server health, storage, and row counts with the storage-engine breakdown.
- Your own widgets in SQL, from a single number to a chart.
Backups and moves
mysqldumpbackups to your Mac or S3, restore points, and sandbox copies.- Move to another host, or to Postgres, with a pre-flight report.
- Create, start and stop local MySQL servers, and share one through a Cloudflare Tunnel.
Connecting to PlanetScale and RDS
PlanetScale: create a password for your branch, copy the connection string it gives you, and paste it into Host. Linking your PlanetScale account adds PlanetScale's own tools next to TableStudio's.
Amazon RDS: import your RDS instances and add the MySQL ones in one step.
Local MySQL: if Homebrew already runs MySQL on your Mac, Import Local Databases finds it and leaves its data alone.
Last updated