Passende Indizierung der Datenbank
am 01.06.2009 - 20:23 Uhr in
Hi, ich habe mich schon des öfteren gefragt, ob views denn dafür sorgen, dass beim Anlegen auch ein passender Index zu dem View in der Tabelle (oder evtl mehreren bei Joins) angelegt wird. Das kann ja bei hoch-frequentierten Seite durchaus wichtig sein. Oder muss man sich darum dann von Hand kümmern?
- Anmelden oder Registrieren um Kommentare zu schreiben

ganz so klug ist views dann
am 04.06.2009 - 09:19 Uhr
ganz so klug ist views dann doch nicht :)
Aber das wäre doch ein toller Feature Request!
Du musst das aktuell noch selber anlegen, wie macht man den Index über mehrere Joins hinweg?
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
Das dachte ich mich fast
am 04.06.2009 - 09:57 Uhr
Das dachte ich mich fast ;-)
Ist ja aber gerade für große Seite und Tabellenübergreifende Views nicht unwichtig.
Für JOINS legt man einfach pro Tabelle eine Index an, der den einbezogenen Feldern in den JOINS entspricht. Mit EXPLAIN {SQL_STATEMENT} kann man dann auch immer sehr schön sehen, ob der Index verwendet wird oder nicht.
Wenn Views das noch automatisch könnte, bin auch ich auf dem Besten weg dahin, von diesem Tool überzeugt zu sein ;)
______________________________________
Softwareentwicklung / Webdesign BrightSolutions
dann sollte Views aber auch
am 04.06.2009 - 10:45 Uhr
dann sollte Views aber auch die Join Reihenfolge richtig machen
kleine Tabelle inner JOIN große Tabelle sollte wohl deutlich schneller sein als anders herum oder?
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
ja das ist wohl wahr, ich
am 04.06.2009 - 10:55 Uhr
ja das ist wohl wahr, ich denke da kann man noch einiges optimieren, ich bin gespannt....
______________________________________
Softwareentwicklung / Webdesign BrightSolutions
dereine schrieb dann sollte
am 04.06.2009 - 11:33 Uhr
dann sollte Views aber auch die Join Reihenfolge richtig machen
kleine Tabelle inner JOIN große Tabelle sollte wohl deutlich schneller sein als anders herum oder?
Was ist klein und was ist groß? Tabellen entwickeln sich mit der Zeit. Gäbe es eine solche Abhängigkeit, müsste man vorher erst ein COUNT(*) auf die Tabellen machen. Dies ist bei MyISAM Tabellen "billig", z.B. aber bei InnoDB Tabellen "teuer", weil dort kein Zähler mitgspeichert wird. Für andere RDBMS als MySQL siehts wieder ganz anders aus.
Daher mag es eine bewusste Design-Entscheidung sein der Datenbank selbst die Analyse und Optimierung der Querys zu überlassen.
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
S.h.
am 04.06.2009 - 14:15 Uhr
S.h. http://drupal.org/node/372994
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.