CockroachDB's implementation of query plan caching aims to optimize query performance by reducing planning times while maintaining the quality of execution plans. Since the 2.1 release, a cost-based optimizer has been in place, performing more work and thus requiring longer planning times, which led to the development of caching strategies. The planning process involves several stages, such as parsing, semantic analysis, normalization, exploration, and execution building, each contributing significantly to planning time. CockroachDB uses different methods for issuing queries, including the simple and extended protocols, with the latter being more secure but less efficient due to its multi-step process. The caching work focused initially on the prepare-once method, which is the most efficient, and later extended to other methods. Despite challenges like the inability to reuse certain stages due to changes in database schema or the presence of placeholders, the introduction of caching has resulted in significant planning time reductions, especially for frequently executed queries. Future improvements may involve optimizing the reuse of plans with different values, enhancing user control over query plans, and potentially parameterizing queries to further streamline the process.