WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Indizes & Cache von MySQL » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von NetDrag
ne, is datenbank intern, sql und php haben gar nichts damit zu tun.

planen mußt du ihn schon, d.h die größe sodaß oft benötigte abfragen im cache bleiben, auch wenn neue querys dazu kommen.

Nur bringt dir der cache wahrscheinlich nichts, weil bei einer gut geplanten datenbank wirkt er erst wenn die datenbank etwas größer ist, was bei webapplikationen selten der fall ist.

gib mal eine deiner sql abfragen im commandline client von mysql ein, dann siehst du ja wie lange die abfrage dauert. der query-cache liegt meist bei 0,2 sekunden.
von Bastian_W
hi...

meine Frage ziehlte mehr daraufhin ob ich einen zustäzlichen Befehl in meinem PHP Programm einbauen muß?


Wie frage ich den den Status ab?
Per PHP???
von toc22
Der Q-Cache ist ab Version 4 von MYSQL enthalten.
In dem Q-Cache werden Querys und deren Ergebnismengen gespeichert. Wenn das gleiche Statement mehrmals benutzt wird und die betroffenen Datensätze sich nicht verändert haben, wird das Ergebnis aus dem Cache geliefert. Bei einem kleinen Cache kann es allerdings sehr schnell vorkommen, dass ältere Statements überschrieben werden.
In Szenarien, in denen häufig auf Bestandsdaten zugegriffen wird, kann dieser Cache enmorme Geschwindigkeitssteigerungen bewirken. Besonders bei komplexen Statements kann der Q-C sehr wirkungsvoll sein, da das zeitaufwendige Parsen der Statements entfällt. Bei Bewegungsdaten, dürften die Geschwindigkeitssteigerungen ehere gering sein.

Man kann die Effiezienz des Q-C. in einer speziellen Situatuion sehr leicht bewerten:

show status;


Aktiviert wird der Q-Cache wie folgt:
unter Linux in /etc/my.cnf
[mysqld]
...
query_cache_size=500K
...

Hier gibt es eine sehr gute Doku zum Q-C:
http://www.mysql.com/doc/en/Query_Cache.html
von Bastian_W
Ok... habe ich mitlerweile gut verstanden... nur was ist der

Query-Cache???

Wie stelle ich den ein bzw. benutze den?
von NetDrag
Also index über Fulltext hat keinen Sinn. Du muß dir das so vorstellen:

Eine Datenbank ist ja nichts anderes als ein Programm das in einer Datei mit einem genauen Schema nach einträgen sucht. Also
Column ID | Column Name | Column Beschreibung
1 | Name1 | Eine ziemlich lange Beschreibung zu diesem Link
2 | Name2 | Eine sehr sehr Lange Beschreibung zu Link 2
usw.

Da das DatenbankSystem ja nicht weiß wo genau die 2 Zeile anfängt, muß es erst Zeile 1, durchgehen bis es weiß wo Zeile 2 anfängt. Vereinfacht ist der Index eine Liste die dem DBMS genau sagt wo der 2. Eintrag liegt. So geht der Zugrifff ziemlich schneller.

1 | Position 1
2 | Position 2

Wenn jetzt in Index auch noch ein langer Text steht macht der Index ja keinen Sinn mehr da dann der Index gleich lang wird wie dir Tabelle

Nach oben