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.
Generated Hash Columns in MySQL
Creating generated hash columns in MySQL for faster strict equality lookups.
Using redundant conditions to unlock indexes in MySQL
Using redundant conditions as a method to unlock obfuscated indexes and improve performance in MySQL.
Character sets and collations in MySQL
Understanding the differences between character sets and collations in MySQL.
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.
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.
What is database sharding and how does it work?
Learn what database sharding is, how sharding works, and some common sharding frameworks and tools.
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.
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.
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.
Solving N+1’s with Rails `exists?` queries
Learn how to solve your Rails applications N+1’s caused by `exists?` queries.
Faster MySQL with HTTP/3
In this article we explore how our HTTP/3 API compares to the latency of a traditional MySQL client.
What is a query planner?
Learn how query planning works and why query planners are important.
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.
Rails’ safety mechanisms
A comprehensive overview of Rails’ many safety features that can help you prevent painful mistakes.
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.
How PlanetScale Boost serves your SQL queries instantly
Learn how we use a partial materialization engine for database caching alongside your database.
One million connections
Learn how to use PlanetScale to safely include your database in your serverless functions without hitting connection limits in MySQL.
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.
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.
Laravel’s safety mechanisms
A comprehensive overview of Laravel’s many safety features that can help you prevent painful mistakes.
Optimizing queries in arewefastyet
Learn how we detected and optimized two slow queries in arewefastyet using PlanetScale Insights.
Indexing JSON in MySQL
Learn how to index JSON in MySQL with generated columns and functional indexes.
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.
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.
TAOBench: Running social media workloads on PlanetScale
Learn how we used TAOBench with PlanetScale to benchmark social media workloads