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


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


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.


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.


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


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


Character sets and collations in MySQL
Understanding the differences between character sets and collations in MySQL.


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


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.


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


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.


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.


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.


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


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.


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.


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


What is database sharding and how does it work?
Learn what database sharding is, how sharding works, and some common sharding frameworks and tools.


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


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


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.


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


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.


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.


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.


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.


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.


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


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