Introducing Database Traffic Control™: resource budgets for your Postgres query traffic.Learn more
Navigation

Blog


By Brian Morrison II |

Learn what distributed caching systems are, how they complement MySQL databases, and potential issues you might face when implementing them.


By Brian Morrison II |

Learn the basics of MySQL partitioning, including partitioning with range, list, and key strategies, as well as how partitioning relates to database sharding.


By Matthias Crauwels |

Deep dive into MySQL’s connection handling mechanisms for optimal connection pooling and improved concurrency.


By Ayrton |

Learn how we utilized Markdoc to create custom, extendable product onboarding at PlanetScale.


By Jonah Berquist |

Not sure when to shard your MySQL database? This article covers when you should consider horizontal sharding as a scaling strategy in MySQL and some other scaling options before then.


By Lucy Burns, Taylor Barnett |

Historically, there has been the belief that you cannot horizontally scale and shard MySQL, learn how Vitess has made MySQL sharding at the database layer a reality.


By Shlomi Noach |

Why PlanetScale deploys branch changes near-atomically, and how it applies concurrency and dependency resolution without impacting production databases.


By Rafer Hazen |

How we built a scalable telemetry pipeline with Apache Kafka and PlanetScale.


By Mike Coutermarsh |

Learn how to solve a tree traversal N+1 query problem in your Rails application.


By PlanetScale |

Sharding and partitioning are two common ways to improve performance, manageability, and availability of larger databases.


By Sam Lambert |

A detailed description of the multi-layered approach PlanetScale takes to ensure your data is safe.


By Aaron Francis |

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


By Aaron Francis |

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


By Aaron Francis |

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


By Aaron Francis |

Understanding the differences between character sets and collations in MySQL.


By Matt Lord |

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.


By Taylor Barnett |

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


By Aaron Francis |

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


By Matthieu Napoli |

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


By Shlomi Noach |

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


By Aaron Francis |

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.


By Aaron Francis |

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


By Justin Gage |

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


By Savannah Longoria |

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


By Mike Coutermarsh |

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