Skip to content

Blog

Datetimes versus timestamps in MySQL
Engineering

Datetimes versus timestamps in MySQL

Learn the differences between datetimes and timestamps in MySQL, the DATE, YEAR, and TIME columns, timezones, and when to use each.

Aaron Francis
Generated hash columns in MySQL
Engineering

Generated hash columns in MySQL

Creating generated hash columns in MySQL for faster strict equality lookups.

Aaron Francis
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
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
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
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
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
Connection pooling in Vitess
Engineering

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
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
What are the disadvantages of database indexes?
Engineering

What are the disadvantages of database indexes?

Learn about some of the possible downsides of using database indexes and how to remove unused database indexes in MySQL.

JD Lien
Solving N+1’s with Rails `exists?` queries
Engineering

Solving N+1’s with Rails `exists?` queries

Learn how to solve your Rails applications N+1’s caused by `exists?` queries.

Mike Coutermarsh
Faster MySQL with HTTP/3
Engineering

Faster MySQL with HTTP/3

In this article we explore how our HTTP/3 API compares to the latency of a traditional MySQL client.

Matt Robenolt
What is a query planner?
Engineering

What is a query planner?

Learn how query planning works and why query planners are important.

Andres Taylor
Temporal workflows at scale: Part 2 — Sharding in production
Engineering

Temporal workflows at scale: Part 2 — Sharding in production

Learn how PlanetScale simplifies the process of running Temporal in production by looking at how our customer runs heavy production workloads.

Savannah Longoria
Rails’ safety mechanisms
Engineering

Rails’ safety mechanisms

A comprehensive overview of Rails’ many safety features that can help you prevent painful mistakes.

Jason Charnes
Building a multi-region Rails application with PlanetScale
Engineering

Building a multi-region Rails application with PlanetScale

Learn how to configure your database in a multi-region Rails application to decrease latency across the globe.

Mike Coutermarsh
How PlanetScale Boost serves your SQL queries instantly
Engineering

How PlanetScale Boost serves your SQL queries instantly

Learn how we use a partial materialization engine for database caching alongside your database.

Vicent Marti
One million connections
Engineering

One million connections

Learn how to use PlanetScale to safely include your database in your serverless functions without hitting connection limits in MySQL.

Liz van Dijk
MySQL Integers: INT BIGINT and more
Engineering

MySQL Integers: INT BIGINT and more

Gain a deeper understanding of the MySQL integer types by exploring the different options (INT BIGINT MEDIUMINT etc) and how they are stored.

Brian Morrison II
What is Vitess: resiliency, scalability, and performance
Engineering

What is Vitess: resiliency, scalability, and performance

Learn what Vitess is, how it works, and how it can improve your database‘s resilience, scalability, and performance.

Brian Morrison II
Laravel’s safety mechanisms
Engineering

Laravel’s safety mechanisms

A comprehensive overview of Laravel’s many safety features that can help you prevent painful mistakes.

Aaron Francis
Optimizing queries in arewefastyet
Engineering

Optimizing queries in arewefastyet

Learn how we detected and optimized two slow queries in arewefastyet using PlanetScale Insights.

Florent Poinsard, Harshit Gangal
Indexing JSON in MySQL
Engineering

Indexing JSON in MySQL

Learn how to index JSON in MySQL with generated columns and functional indexes.

Aaron Francis
MySQL data types: VARCHAR and CHAR
Engineering

MySQL data types: VARCHAR and CHAR

In this entry of the series we explore using VARCHAR and CHAR data types in your database and give some pointers on which type is best to use and when.

Brian Morrison II
The MySQL JSON data type
Engineering

The MySQL JSON data type

Learn what the MySQL JSON data type is when to use MySQL JSON and some caveats to using JSON documents in relational databases.

Mike Stojan
TAOBench: Running social media workloads on PlanetScale
Engineering

TAOBench: Running social media workloads on PlanetScale

Learn how we used TAOBench with PlanetScale to benchmark social media workloads

Liz van Dijk