SQL 语句高速缓存会存储那些已分析和优化过的 SQL 语句,以便运行相同 SQL 语句的多个用户能够获得一些性能改进。
这些性能改进为:
- 响应时间缩短,原因是绕过了分析和优化步骤,如图 1 所示
- 占用的内存量减少,原因是数据库服务器在用户间共享查询数据结构
有关 SQL 语句高速缓存对单个查询的性能影响的更多信息,请参阅 使用 SQL 语句高速缓存优化查询。
图 1 显示数据库服务器如何对多个用户访问
SQL 语句高速缓存。
- 当数据库服务器第一次为用户 1 运行 SQL 语句时,数据库服务器会检查完全一样的 SQL 语句是否在 SQL 语句高速缓存中。如果不在高速缓存中,那么数据库服务器会分析该语句,确定最佳的查询计划,然后运行该语句。
- 当用户 2 运行相同的 SQL 语句时,数据库服务器会在 SQL 语句高速缓存中查找该语句,但不会分析和优化该语句。
- 同样,如果用户 3 和用户 4 运行相同的 SQL 语句,数据库服务器也不会分析和优化该语句。相反,它使用内存中 SQL 语句高速缓存内的分析信息和查询计划。
图: 使用 SQL 语句高速缓存时的数据库服务器操作
![在周围的文本中对此图进行描述。](idsp004.gif)