高性能MySQL书籍(2004)的查询性能章节称MySQL(4.0.1)尝试在分析或执行它之前在查询缓存中找到任何“SELECT”查询的结果。 MySQL使用它收到的确切查询文本,因此缓存是敏感的,这意味着
SELECT * FROM table1
与
不同select * FROM table1
我想知道MySQL 5.x中是否仍然如此,所以我们应该总是输入'SELECT'而不是'select'。
答案 0 :(得分:5)
MySQL查询缓存为case (and byte) sensitive。
在解析之前将传入的查询与查询缓存中的查询进行比较,因此查询缓存将以下两个查询视为不同:
SELECT * FROM tbl_name Select * from tbl_name
查询必须完全相同(字节为字节)才能看作相同。另外,由于其他原因,可以将相同的查询字符串视为不同。使用不同数据库,不同协议版本或不同默认字符集的查询被视为不同的查询,并单独缓存。
答案 1 :(得分:0)
不是,但你会知道,如果你尝试过它!
修改强> 以下都不是,以防你想知道。