DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) query-cache

Info Catalog (mysql.info) multiple-servers (mysql.info) database-administration
 
 5.14 The MySQL Query Cache
 ==========================
 

Menu

 
* query-cache-how              How the Query Cache Operates
* query-cache-in-select        Query Cache `SELECT' Options
* query-cache-configuration    Query Cache Configuration
* query-cache-status-and-maintenance  Query Cache Status and Maintenance
 
 The query cache stores the text of a `SELECT' statement together with
 the corresponding result that was sent to the client. If an identical
 statement is received later, the server retrieves the results from the
 query cache rather than parsing and executing the statement again.
 
 The query cache is extremely useful in an environment where you have
 tables that do not change very often and for which the server receives
 many identical queries. This is a typical situation for many Web
 servers that generate many dynamic pages based on database content.
 
 * The query cache does not return stale data. When tables are
 modified, any relevant entries in the query cache are flushed.
 
 * The query cache does not work in an environment where you have
 multiple `mysqld' servers updating the same `MyISAM' tables.
 
 * The query cache is not used for server-side prepared
 statements. If you're using server-side prepared statements consider
 that these statement won't be satisfied by the query cache. See 
 c-api-prepared-statements.
 
 Some performance data for the query cache follows. These results were
 generated by running the MySQL benchmark suite on a Linux Alpha 2 x
 500MHz system with 2GB RAM and a 64MB query cache.
 
    * If all the queries you are performing are simple (such as
      selecting a row from a table with one row), but still differ so
      that the queries cannot be cached, the overhead for having the
      query cache active is 13%. This could be regarded as the worst
      case scenario. In real life, queries tend to be much more
      complicated, so the overhead normally is significantly lower.
 
    * Searches for a single row in a single-row table are 238% faster
      with the query cache than without it. This can be regarded as
      close to the minimum speedup to be expected for a query that is
      cached.
 
 To disable the query cache at server startup, set the
 `query_cache_size' system variable to 0. By disabling the query cache
 code, there is no noticeable overhead.  If you build MySQL from source,
 query cache capabilities can be excluded from the server entirely by
 invoking `configure' with the -without-query-cache option.
 
Info Catalog (mysql.info) multiple-servers (mysql.info) database-administration
automatically generated byinfo2html