Seite 1 von 1

query cache

Verfasst: 01.12.2006 15:10
von Ambience
Hallo,

vielleicht kennt sich hier jemand mit dem query cache aus?

Also mein simples Script sieht so aus:

Code: Alles auswählen

<?php

$verbindung = mysql_connect('localhost', 'root', '');
mysql_select_db('greatbook');

$time = microtime(true);
mysql_query('query cache_type = "ON"');
mysql_query('set global query_cache_size = 10000000');
mysql_query('FLUSH QUERY CACHE');

$sql = 'SELECT * FROM gb_config';

mysql_query($sql);

echo microtime(true) - $time;
?>
1. Ist der code so richt?
2. Brauche ich die mysql_query´s mit cache_type und size sowie flush bei jeder seite, oder nur einmal wenn ich z.b. mein gästebuch installiere, und dann nie wieder?

Lese mich gerade ein, aber ob ich so richtig bin weiß ich leider nicht.

Verfasst: 01.12.2006 16:55
von Miriam
Die Befehle sehen soweit gut aus.
Ob sie wirken dürfen ist eine andere Sache. Vllt hast Du nicht genug Berechtigungen dazu?
Ob's was gebracht hat kannst Du mit

Code: Alles auswählen

show variables like '%cache%';
bzw.

Code: Alles auswählen

show variables like 'query_cache_size';
sehen.
Mit

Code: Alles auswählen

show status;
kannst Du dann schauen, was die Trefferquote so sagt. :) [suche nach Qcache]
Die Einstellungen gelten bis zu einem Neustart des MySQL Servers. Ansonsten musst Du es in der Konfig.-Datei permanent einstellen.

Code: Alles auswählen

FLUSH QUERY CACHE;
kannst Du jederzeot ausführen und ist u.U. auch ganz nützlich, denn der Cache wird dadurch auch defragmentiert und optimiert.

Verfasst: 01.12.2006 19:38
von Jensemann
Als normaler Benutzer auf dem MySQL-Server ist es m.E. nicht sonderlich sinnvoll selbst den Cache einzuschalten, daran herumzudrehen oder sonst wie.

Führe die Querys wie gewohnt aus. Hat dein Hoster keinen QueryCache aktiviert hat er dafür entweder einen guten Grund (den es durchaus geben kann) oder er ist inkompetent. Mit anderen Worten: überlasse dies vollständig dem Server und folglich dem Server-Admin.