mirror of
https://github.com/MariaDB/server.git
synced 2026-04-24 09:15:30 +02:00
Some Query Cache fixups.
Added info about two new Query Cache status variables.
This commit is contained in:
parent
7a8ce13128
commit
eada6ed9a6
1 changed files with 18 additions and 6 deletions
|
|
@ -35523,11 +35523,11 @@ dynamic content.
|
|||
|
||||
Following are some performance data for the query cache
|
||||
(We got these by running the MySQL benchmark suite on a Linux Alpha
|
||||
2x500 MHz with 2GB RAM and a 64MB query cache).
|
||||
2x500 MHz with 2GB RAM and a 64MB query cache):
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
If want to disable the query cache code set @code{query_cache_size=0}.
|
||||
If you want to disable the query cache code set @code{query_cache_size=0}.
|
||||
By disabling the query cache code there is no noticeable overhead.
|
||||
@item
|
||||
If all of the queries you're preforming are simple (such as selecting a
|
||||
|
|
@ -35578,7 +35578,7 @@ found rows is also stored in the cache.
|
|||
If a table changes (@code{INSERT}, @code{UPDATE}, @code{DELETE},
|
||||
@code{TRUNCATE}, @code{ALTER} or @code{DROP TABLE|DATABASE}),
|
||||
then all cached queries that used this table (possibly through a
|
||||
MRG_MyISAM table!) become invalid and are removed from the cache.
|
||||
@code{MRG_MyISAM} table!) become invalid and are removed from the cache.
|
||||
|
||||
Currently all @code{InnoDB} tables are invalidated on @code{COMMIT},
|
||||
in the future this will be changed so only tables changed in the
|
||||
|
|
@ -35695,18 +35695,30 @@ You can monitor query cache performance in @code{SHOW STATUS}:
|
|||
@item @code{Qcache_inserts}
|
||||
@tab Number of queries added to the cache.
|
||||
@item @code{Qcache_hits}
|
||||
@tab Number of cache hits
|
||||
@tab Number of cache hits.
|
||||
@item @code{Qcache_not_cached}
|
||||
@tab Number of non-cached queries
|
||||
(not cachable, or due to SQL_QUERY_CACHE_TYPE)
|
||||
(not cachable, or due to @code{SQL_QUERY_CACHE_TYPE}).
|
||||
@item @code{Qcache_free_memory}
|
||||
@tab Amount of free memory for query cache.
|
||||
@item @code{Qcache_total_blocks}
|
||||
@tab Total number of blocks in query cache.
|
||||
@item @code{Qcache_free_blocks}
|
||||
@tab Number of free memory blocks in query cache.
|
||||
@end multitable
|
||||
|
||||
Please note:
|
||||
Total number of queries =
|
||||
@code{Qcache_inserts} + @code{Qcache_hits} + @code{Qcache_not_cached}.
|
||||
|
||||
The query cache uses variable length blocks, so @code{Qcache_total_blocks}
|
||||
and @code{Qcache_free_blocks} may indicate query cache memory fragmentation.
|
||||
After @code{FLUSH QUERY CACHE} only a single (big) free block remains.
|
||||
|
||||
Note: Every query needs a minimum of two blocks (one for the query text
|
||||
and one or more for the query results). Also, every table that is used
|
||||
by a query needs one block, but if two or more queries use same table
|
||||
only one block needs to be allocated.
|
||||
|
||||
|
||||
@node Table types, Clients, Reference, Top
|
||||
@chapter MySQL Table Types
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue