对在 SQL 语句高速缓存中的相匹配的条目的限制

当数据库服务器考虑一语句是否与 SQL 语句高速缓存中的语句一致时,下列项必须相匹配:
如果 SQL 语句在语义上等同于在 SQL 语句高速缓存中的语句,但文字不同,则不认为是一致的语句且具备条目进入高速缓存的资格。例如,下列 SELECT 语句是不相同的:
SELECT col1, col2 FROM tab1 WHERE col1=3;
        
        SELECT col1, col2 FROM tab1 WHERE col1=5;

在此示例中,两个语句都进入到 SQL 语句高速缓存内。

然而,主变量名称并不重要。例如,下列选择语句认定为相同:
SELECT * FROM tab1 WHERE x = :x AND y = :y;
        
        SELECT * FROM tab1 WHERE x = :p AND y = :q;

在先前的示例中,虽然主名称不同,但语句够资格,因为大小写、查询文本字符串和空格都匹配。然而,性能没有改进,因为通过 PREPARE 语句已解析和优化了每一语句。