Sebastian Mendel wrote:
Jens Theisen wrote:
Zu meinem Glück konnte ich feststellen, dass MySQL immerhin effizient
ist bei Joins mit 32 oder weniger Tabellen, und erst ab 33 ineffizient
wird. Offensichtlich wird dann irgendetwas unnötig umständlich gemacht:
Oder der verwendete Speicher ist alle? Es wird auf Festplatte
ausgelagert? Der Cache ist zu klein?
Ich tippe eher darauf, daß die Plansuche nicht mehr effektiv arbeitet.
In 5.0 wurde an dieser Stelle gespielt und ein neuer Algorithmus
implementiert.
Bei den Puffern kommt mir nur der join_buffer_size in den Sinn, aber der
kommt nur bei ALL und index Strategien zum Einsatz. Die normalen
Puffer, speziell key_buffer_size dürften *Kristallkugel* groß genug
sein, weil es sich "um einen mehrfachen join der immer gleichen Tabelle
mit sich selbst" handelt. D.h. hier werden nur die Indizes einer Tabelle
geladen. Da ist die Chance groß, daß es in den Puffer passt. Aber das
ist *Kristallkugel*
Ulf