Seite 1 von 1

Bei Suche kommt SQL-Fehler

Verfasst: 03.01.2011 14:33
von Elsensee
Ich habe die Suche genutzt und keinen Beitrag dazu gefunden - das schonmal vorweg. :D

Ich bin in einem phpBB-Forum der Version 3.0.5 angemeldet, habe dort einen Fehler gefunden, die Administration darauf aufmerksam gemacht und die haben mir dann gesagt, dass ich hier mal "um Hilfe schreien" soll.
Als ich die Suche nach einer URL beginnen wollte, kam folgender Fehler:
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay [1104]

Beim Laden der Seite ist ein SQL-Fehler aufgetreten. Bitte kontaktiere die Board-Administration, falls dieses Problem fortlaufend auftritt.
Dies passiert bei allen URLs, außer bei einer mit "search.php" hinten dran. So geht z.B.die Suche nach "http://www.phpbb.de/community/search.php" ohne Probleme (er zeigt mir nur an, dass die Suche nach "search" keine Treffer ergibt), aber nach "http://www.phpbb.de/community/viewtopic.php" zu suchen funktioniert nicht.

Ich werde sämtliche Vorschläge an die Administration im Forum weiterleiten und auch auf dieses Thema verweisen.

Ich bedanke mich schonmal im vorraus!

Viele Grüße
Elsensee

Re: Bei Suche kommt SQL-Fehler

Verfasst: 03.01.2011 18:38
von Mahony
Hallo
Ich bin in einem phpBB-Forum der Version 3.0.5 angemeldet,
Zuerst einmal empfehle ich euch, das Board auf die aktuelle phpBB3 - Version (phpBB3.0.8 ) upzudaten. Es macht ja keinen Sinn, eine veraltete Version zu supporten.

Zum Problem: Werden denn die Indizes in der Datenbank genutzt (beziehungsweise existieren diese überhaupt) ? Der Admin sollte das mal überprüfen.


Grüße: Mahony

Re: Bei Suche kommt SQL-Fehler

Verfasst: 04.01.2011 12:36
von Elsensee
Das hat man mir geantwortet:
@Such-Indizes: Fulltext native ist aktiv, Fulltext mysql nicht.
---
(@Update: Ich hab Angst, dass ich unsere Grafiksammlung nicht problemlos auf prosilver läuft, respektive ob unser subsilver2 unter 3.0.8 noch mag - und momentan gar keine Zeit da rumzupfriemeln)

Re: Bei Suche kommt SQL-Fehler

Verfasst: 04.01.2011 12:42
von cYbercOsmOnauT
Hallo auch von meiner Seite,

es sollte mal in der config.php das DEBUG_EXTRA aktiviert werden (die // bei beiden DEBUG-Zeilen entfernen). Dann bekommen wir eigene genauere Anzeige was angemäkelt wird. Auf jeden Fall macht die mySQL Datenbank dicht weil das Board mehr Datensätze verknüpfen will als erlaubt ist. Ich kann mir kaum vorstellen, das solch ein Fehler in einem unmodifizierten phpBB vorkommt. Stellt sich mir die Frage welches der eingebauten Mods die DB so sehr stresst.

Viele Grüße,
Tekin

Re: Bei Suche kommt SQL-Fehler

Verfasst: 04.01.2011 13:11
von Elsensee
Das ist dann die erweiterte Ausgabe:
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay [1104]

SQL

SELECT p.post_id FROM (plf_search_wordmatch m1, plf_search_wordmatch m2, plf_search_wordmatch m3, plf_search_wordmatch m4, plf_search_wordmatch m0) LEFT JOIN plf_posts p ON (m0.post_id = p.post_id) WHERE m0.word_id = 239 AND m1.word_id = 3104 AND m1.post_id = m0.post_id AND m2.word_id = 4462 AND m2.post_id = m0.post_id AND m3.word_id = 5974 AND m3.post_id = m0.post_id AND m4.word_id = 6241 AND m4.post_id = m0.post_id GROUP BY p.post_id, p.post_time ORDER BY p.post_time DESC LIMIT 250

BACKTRACE

FILE: includes/db/mysql.php
LINE: 174
CALL: dbal->sql_error()

FILE: includes/db/mysql.php
LINE: 221
CALL: dbal_mysql->sql_query()

FILE: includes/db/dbal.php
LINE: 170
CALL: dbal_mysql->_sql_query_limit()

FILE: includes/search/fulltext_native.php
LINE: 727
CALL: dbal->sql_query_limit()

FILE: search.php
LINE: 432
CALL: fulltext_native->keyword_search()

Re: Bei Suche kommt SQL-Fehler

Verfasst: 05.01.2011 15:30
von Elsensee
*schauaufdieuhr* :D
Hat niemand eine Idee??? :(

Re: Bei Suche kommt SQL-Fehler

Verfasst: 07.01.2011 10:05
von Elsensee
Hat wirklich niemand eine Idee??? :cry:

Re: Bei Suche kommt SQL-Fehler

Verfasst: 07.01.2011 11:40
von Dr.Death
Hallo,

ist denn auf die aktuelle phpBB3 Version ( 3.0.8 ) aktualisiert worden?

Zusätzlich solltest Du Deinen Hoster mit der Fehlermeldung:
The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay [1104]
kontaktieren.

Der SQL SELECT Befehl ist OK.

Re: Bei Suche kommt SQL-Fehler

Verfasst: 07.01.2011 12:32
von cYbercOsmOnauT
Wenn es gar nicht geht schalte mal testweise das verwendete Backend um im ACP (Suchfunktion - Verwendetes Backend).

So wie es scheint macht Eure Datenbank dicht weil er mehrfach die ziemlich große plf_search_wordmatch einbinden muss in das SELECT.

Grüße,
Tekin

Re: Bei Suche kommt SQL-Fehler

Verfasst: 08.01.2011 19:46
von Elsensee
Deine Lösung, Tekin, hat anscheinend funktioniert.
Diese Antwort habe ich bekommen:
Fehler tritt nun unter Verwendung der Fulltext mySQL nicht mehr auf, allerdings ist der Index nun nur noch halb so groß wie bei fulltext native (bei ansonsten gleichen Einstellungen, Indizes jeweils neu erstellt).

Ob der Fehler auch nach dem Update auf 3.0.8 noch mit der nativen Suchfunktion auftritt, werde ich berichten wenn das Update drauf ist.