Ich hatte das Problem, dass mein zentrales Newsmodul, das über 43 installierte Clients sämtliche News aus den Newsverzeichnissen ausliest, eine Datenbankabfragezeit von 60 Sekunden brauchte.
Genauso benötigten andere Modul mit Ansteigen des Siteumfangs immer längere Rechenzeiten des mySQL-Servers.
Durch Indizieren der Datenbanktabellen ist die Abfragezeit des Newsmoduls von 60 Sekunden auf 0,4 Sekunden geschrumpft.
Das wirkt sich natürlich auch auf sämtliche anderen Abfragen aus.
Das hat meine Befürchungen um die Grenzen von Contenido erstmal wieder beruhigt.
So gings:
In den Tabellen
con_side_lang einen Index auf idside
con_cat_side Index auf idcat und Index auf idside,
con_cat_tree Index auf idcat,
con_cat_lang Index auf name und Index auf idcat
Tunen von Contenido / Geschwindigkeitserhöhung um den Faktor
Hallo
ja eine Datenbank lebt eben
Und da bei einem CMS ja lesende Zugriffe auf die Datenbank wesentlich häufiger sind als inserts, fällt der Performancenachteil durch den zusätzlichen Index-Aufbau nicht wirklich ins Gewicht ....
Grundsätzlich sollten ja Felder, die in der WHERE-Bedingung abgefragt werden. indiziert werden .... es sei denn, diese Tabelle hat nur eine eng begrenzte Zahl von Rows
hmm .. ich sollte mal alle meine Datenbanken nachschauen
Gruß Harald
ja eine Datenbank lebt eben
Und da bei einem CMS ja lesende Zugriffe auf die Datenbank wesentlich häufiger sind als inserts, fällt der Performancenachteil durch den zusätzlichen Index-Aufbau nicht wirklich ins Gewicht ....
Grundsätzlich sollten ja Felder, die in der WHERE-Bedingung abgefragt werden. indiziert werden .... es sei denn, diese Tabelle hat nur eine eng begrenzte Zahl von Rows
hmm .. ich sollte mal alle meine Datenbanken nachschauen
Gruß Harald
Gott schütze die Dummen, denn sie ernähren die Wissenden
hi detlev,
hab leider noch nicht so viele index in mysql-tabellen angelegt. deshalb wäre es cool, wenn du die kompletten sql-commandos posten könntest: ala
wie kann ich mir dann bestehende indexe anzeigen lassen?
wie misst du die performance der anfrage? gibt es da für ein script?
danke
grüsse
knuds
hab leider noch nicht so viele index in mysql-tabellen angelegt. deshalb wäre es cool, wenn du die kompletten sql-commandos posten könntest: ala
Code: Alles auswählen
alter table con_side_lang add index ???
Code: Alles auswählen
show tables ?
danke
grüsse
knuds
alter table con_side_lang add index ('idside')
ist goldrichtig
die bestehenden Indizes siehst du im Dump der Tabellen
die Abfragezeit sehe ich direkt wenn ich auf der Befehlszeile des mysql-Servers die Abfragen einsetze
die einfachste Lösung der Administrierung ist über phpMyAdmin, dort siehst du alle Indizes, und kannst sie setzen.
ist goldrichtig
die bestehenden Indizes siehst du im Dump der Tabellen
die Abfragezeit sehe ich direkt wenn ich auf der Befehlszeile des mysql-Servers die Abfragen einsetze
die einfachste Lösung der Administrierung ist über phpMyAdmin, dort siehst du alle Indizes, und kannst sie setzen.