(Désolé pour les copier/coller de manuel, le mien est en anglais et j'ai la flemme de traduire)
Citation:
Y a-t-il des conditions à la mise en cache ? Je ne parle pas de clause de forçage, plutôt de conditions sur la syntaxe générale : présence de SUM, de MAX, etc.)
A ma connaissance, elle est mise en cache si le cache peut la contenir.
Citation:
Combien de temps la requête est-elle cachée ?
De mémoire elle est éjectée quand c'est la plus vieille et qu'il faut de la place pour els nouvelels.
Citation:
Y a-t-il moyen de forcer la requête à rester en cache ?
Citation:
5.13.2. Query Cache SELECT Options
Two query cache-related options may be specified in SELECT statements:
SQL_CACHE
The query result is cached if the value of the query_cache_type system variable is ON or DEMAND.
SQL_NO_CACHE
The query result is not cached.
Examples:
SELECT SQL_CACHE id, name FROM customer;
SELECT SQL_NO_CACHE id, name FROM customer;
Nota bene : les requêtes doivent être les mêmes octets par octets pour que le cache fonctionne.
Existe-t-il plusieurs niveaux de cache, qu'on pourrait forcer ou pas ?
Citation:
If the query cache size is greater than 0, the query_cache_type variable influences how it works. This variable can be set to the following values:
A value of 0 or OFF prevents caching or retrieval of cached results.
A value of 1 or ON allows caching except of those statements that begin with SELECT SQL_NO_CACHE.
A value of 2 or DEMAND causes caching of only those statements that begin with SELECT SQL_CACHE
Citation:
Comment peut-on consulter le cache ?
On peut le vider avec "flush query cache", le consulter je ne suis pas sur que ce soit possible.