Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL_NO_CACHE pour Postgresql ?

Les deux choses que vous avez énoncées ne sont pas du tout équivalentes.

SQL_NO_CACHE de MySQL n'empêche PAS le moteur d'utiliser les données mises en cache. Cela signifie que la requête n'est pas mise en cache dans le cache de requêtes de MySQL .

Le cache de requête n'est pas le même que n'importe quel cache de disque que le moteur pourrait avoir car il met en cache les résultats des requêtes, pas les blocs du disque (ou les lignes d'une table, etc.). Il met donc en cache les résultats d'une instruction textuelle.

La raison de l'utilisation de SQL_NO_CACHE est que vous savez que vous allez faire une requête peu utilisée qui renvoie beaucoup de données (ce qui prendrait beaucoup d'espace dans le cache).

Mais il est maintenant conseillé à la plupart des installations MySQL de désactiver le cache des requêtes pour créer plus de mémoire pour les caches de pages, etc. (voir http://dom.as/tech/query-cache-tuner/ )