SQL 与查询优化(PostgreSQL 篇)· 第七期
SQL 与查询优化(PostgreSQL 篇)· 第七期 查询缓存、连接池与中间件优化 从第一期到第六期,我们的焦点一直围绕单实例 PostgreSQL:执行计划、索引设计、连接算法、统计信息、物化视图与分区表,以及锁与并发控制。但是,当到达了几百万乃至上亿行数据之后,应用程序不仅查询复杂,连接数也可能成千上万。 本期我们跳出数据库内核,进入中间件层,探讨查询缓存、连接池和分布式中间件如何进一步提升系统的极限。 一、连接池 – 高并发的前提 1.1 为什么需要连接池? 在 PostgreSQL 中,每一个新的客户端连接都会在服务器端 fork() 一个新的进程(Backend Process)。一个空闲的数据库连接,即使没有执行任何查询,也会占用大约 5-10 […]