Skip to content

Blog

đźš§ Pardon our dust while we transition our blog to our new website.
Announcing the Hightouch integration
Product

Announcing the Hightouch integration

Learn how to sync data between PlanetScale and other platforms using Hightouch.

Brian Morrison II
Using redundant conditions to unlock indexes in MySQL
Engineering

Using redundant conditions to unlock indexes in MySQL

Using redundant conditions as a method to unlock obfuscated indexes and improve performance in MySQL.

Aaron Francis
Optimizing query planning in Vitess: a step-by-step approach
Vitess

Optimizing query planning in Vitess: a step-by-step approach

See how Vitess acts as a database proxy that creates an illusion of a single database when technically, the query is sent to multiple MySQL instances.

Andres Taylor
Pulling back the curtain: the new database overview page
Product

Pulling back the curtain: the new database overview page

Learn about the latest updates we made to our database overview page: load balancers, shards, and more.

Holly Guevara
Increase developer productivity with Database DevOps
Product

Increase developer productivity with Database DevOps

Explore the evolution of “Database DevOps” and its impact on development workflows in this tech talk.

Nick Van Wiggeren
PlanetScale is now available on the Google Cloud Marketplace
Company

PlanetScale is now available on the Google Cloud Marketplace

We’re excited to announce that PlanetScale is now available on the Google Cloud Marketplace.

Nick Van Wiggeren
Character sets and collations in MySQL
Engineering

Character sets and collations in MySQL

Understanding the differences between character sets and collations in MySQL.

Aaron Francis
Integrate Cloudflare Workers with PlanetScale
Tutorials

Integrate Cloudflare Workers with PlanetScale

A guide on how to natively integrate your PlanetScale database into Cloudflare workers easily and securely.

Brian Morrison II
MariaDB vs. MySQL
Engineering

MariaDB vs. MySQL

Learn the main differences between MariaDB and MySQL, why you might choose one over the other, scaling options, and how Vitess fits into the picture.

Matt Lord
Backward compatible database changes
Engineering

Backward compatible database changes

Learn about safely using the expand, migrate, and contract pattern to make database schema changes without downtime and data loss.

Taylor Barnett
Why isn’t MySQL using my index?
Engineering

Why isn’t MySQL using my index?

There are several reasons why MySQL might not consider your index, and in this article we’ll explore some of the most common ones.

Aaron Francis
Serverless Laravel applications with AWS Lambda and PlanetScale
Engineering

Serverless Laravel applications with AWS Lambda and PlanetScale

Learn how to create serverless Laravel applications by deploying them to AWS Lambda and using PlanetScale as the database.

Matthieu Napoli
Database branching: three-way merge for schema changes
Engineering

Database branching: three-way merge for schema changes

Learn how PlanetScale uses Git-like three-way diff to resolve schema change conflicts across database branches.

Shlomi Noach
Query performance analysis with Insights
Product

Query performance analysis with Insights

You can now use Insights to view time-series performance data on a per-query pattern basis.

Rafer Hazen
MySQL for application developers
Engineering

MySQL for application developers

Everything you need to know about MySQL as an application developer, with a focus on improving query performance. After covering the high-level overview, we’ll put the learnings to the test with some hands-on examples.

Aaron Francis
Pagination in MySQL
Engineering

Pagination in MySQL

An overview of the different ways to paginate in MySQL including limit/offset pagination and cursor pagination plus the pros and cons of each.

Aaron Francis
Safely making database schema changes
Product

Safely making database schema changes

How to prevent schema changes from being scary with database best practices and PlanetScale.

Taylor Barnett
What is database sharding and how does it work?
Engineering

What is database sharding and how does it work?

Learn what database sharding is, how sharding works, and some common sharding frameworks and tools.

Justin Gage
An update to our workflow: safe migrations
Product

An update to our workflow: safe migrations

Learn about our latest update safe migrations and how it affects our branching workflow.

Nick Van Wiggeren
Announcing the PlanetScale GitHub Actions
Product

Announcing the PlanetScale GitHub Actions

Easily integrate common PlanetScale operations directly into your GitHub Actions Workflows.

Brian Morrison II
Building SaaS applications with PlanetScale + Netlify
Product

Building SaaS applications with PlanetScale + Netlify

PlanetScale and Netlify join forces to cover how to integrate PlanetScale into Netlify Functions for common SaaS application use cases.

Liz van Dijk
How to read MySQL EXPLAINs
Engineering

How to read MySQL EXPLAINs

Learn how to read the output in MySQL EXPLAIN plans so you can utilize them to improve query performance.

Savannah Longoria
Connection pooling in Vitess
Vitess

Connection pooling in Vitess

Connection pooling reduces the overhead of establishing new database connections. Learn how connection pooling works and how it is handled in Vitess.

Harshit Gangal
How to Upgrade from MySQL 5.7 to 8.0
Tutorials

How to Upgrade from MySQL 5.7 to 8.0

Learn what you should look out for when upgrading an existing database from MySQL 5.7 to 8 and how to change your database to be compatible with the new version.

JD Lien
Zero downtime Rails migrations with the PlanetScale Rails gem
Engineering

Zero downtime Rails migrations with the PlanetScale Rails gem

Learn about the Ruby on Rails workflow that protects your database and application from accidental downtime and data loss.

Mike Coutermarsh
Preparing for MySQL 5.7 EOL
Engineering

Preparing for MySQL 5.7 EOL

What does the MySQL 5.7 EOL means for your database? Learn considerations to upgrade 8.0 and how PlanetScale can help you upgrade with no downtime or data loss.

Savannah Longoria
Using MySQL with SQLAlchemy: Hands-on Examples
Tutorials

Using MySQL with SQLAlchemy: Hands-on Examples

Learn how to using Python SQLAlchemy with MySQL by working through an example of creating tables, inserting data, and querying data with both raw SQL and SQLAlchemy ORM.

Anthony Herbert
Improvements to database branch pages
Product

Improvements to database branch pages

Learn about some of the latest enhancements we made to the Branching page in the PlanetScale dashboard.

Jason Long
Announcing Vitess 16
Vitess

Announcing Vitess 16

Vitess 16 is now generally available with updates to VDiff v2 VTOrc MySQL compatibility and more.

Vitess Engineering Team