Dealing with large tables
Jul 10, 2024Ben Dicken

Summary
This post details strategies for handling large tables in a Vitess-based MySQL environment. It outlines three options: vertical scaling (increasing compute/storage of a single server), vertical sharding (moving large tables to separate keyspaces/servers), and horizontal sharding (spreading rows of a single table across multiple servers based on a sharding key like user_id). It provides examples of Vitess commands for MoveTables and switchtraffic workflows, and discusses the trade-offs of different sharding keys for data locality and query performance.