Hi,
SQL_CALC_FOUND_ROWS
Das ist das erste Problem. Brauchst du das wirklich? Wenn es darum geht, zb zu berechnen, ob auf die aktuelle Seite eine weitere folgt: Zb hast du 10/p, dann limit 11. Wenn 11es ausgespuckt wird, gibts noch eine Seite.
Zur Zeit leider ja, da eigentlich mit '%foo%' verglichen wird. Das ist vermutlich der Performance-Killer. Das könnte ich vermutlich lösen, indem ich einen eigenen Index aufbaue oder den Volltext-Index nutze.
Genau, oder aber es reicht 'foo%' Wenn der Joker aber vorne steht, wird kein Index verwendet. Für ersteres muß natürlich ein Index auf der Spalte liegen, sonst wärs auch langsam.
Für die Joins dürften ja alle entsprechenden Spalten über Indexe verfügen? Dann sollt der Unterschied zwischen left/inner join auch nicht recht groß sein.
Schöne Grüße,
Jonny 5