Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Datenbankproblem CLM 1.1.13

Datenbankproblem CLM 1.1.13 8 Jahre 6 Monate her #2882

  • CLM_Dirk
  • CLM_Dirks Avatar
  • Offline
  • Expert Boarder
  • Beiträge: 98
  • Karma: 0
Ich habe in letzter Zeit intensiv mit CLM gearbeitet, bei meiner letzten Kontrolle musste ich folgende Fehlermeldung bei der Ergebniseingabe im Ligamanager feststellen:

"DB function failed with error number 1104
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 SQL=SELECT a.*,l.name as liga,l.teil,l.durchgang, s.name as saison,s.published as sid_pub, u.name as uname,m.name as hname, n.name as gname FROM hp_clm_rnd_man as a LEFT JOIN hp_clm_user as u ON u.jid = a.gemeldet AND u.sid = a.sid LEFT JOIN hp_clm_mannschaften AS m ON (m.tln_nr = a.tln_nr AND m.liga = a.lid AND m.sid = a.sid) LEFT JOIN hp_clm_mannschaften AS n ON (n.tln_nr = a.gegner AND n.liga = a.lid AND n.sid = a.sid) LEFT JOIN hp_clm_liga AS l ON l.id = a.lid AND l.sid = a.sid LEFT JOIN hp_clm_saison AS s ON s.id = a.sid WHERE a.heim = 1 AND s.archiv = 0 AND a.sid = 1 AND a.lid = 2 AND a.runde = 1 AND a.dg = 1 ORDER BY a.sid ASC,a.lid ASC,a.dg ASC ,a.runde ASC ,a.paar ASC LIMIT 0, 20"

Hat jemand eine Idee?
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Datenbankproblem CLM 1.1.13 8 Jahre 6 Monate her #2883

  • pierre
  • pierres Avatar
  • Offline
  • Administrator
  • Beiträge: 958
  • Dank erhalten: 29
  • Karma: 9
taucht die message nur bei bestimmten turnieren auf?
sind das turniere/ligen mit grösserer anzahl von spielern?

falls ja, (wieviel? - über 180 spieler ?) - da wurde dann die join-size sehr gross.
wenn das das problem ist, wäre es eine schnellabhilfe, den entsprechenden parameter in der mysql-config zu erhöhen, dass eine grössere join-size zugelassen wird.
ist die sache lokal installiert oder auf eigenem webserver ist das kein problem. hat man bei einem provider nur ein stückelchen von einem webserver zur vefügung sind diese parameter oftmals nach oben limitiert. etwas höher einstellen kann man sie aber bei den meisten providern.

sind das kleinere turniere/ligen kann das problem woanders liegen.

hilfreich wäre auf jeden fall immer eine angabe der URL wo man das anschauen kann.
und welche liga bzw. welches turnier es betrifft.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Datenbankproblem CLM 1.1.13 8 Jahre 6 Monate her #2884

  • CLM_Dirk
  • CLM_Dirks Avatar
  • Offline
  • Expert Boarder
  • Beiträge: 98
  • Karma: 0
Es betrifft folgende Seite:
www.dessau-schach-sachsen-anhalt.de

Es sind dort derzeit in der Ligaverwaltung 5 Staffeln; 3x 10 Mannschaften, 1x 8 Mannschaften, 1x 17 (18) Mannschaften (Pokal) eingerichtet.
Erste Saison 2011/12.
Beim Pokal sind die Meldelisten nicht eingerichtet, da hier bei uns nicht vorher gemeldet wird und bezüglich Aufstellungsreihenfolge viele Freiheiten existieren. Prinzipiell sind pro Mannschaft max. 20 Spieler zugelassen. Es tritt das Problem bei allen Staffeln der Liga im backend auf. Aber auch im Frontend taucht die Eingabe Ergebnis melden nicht auf.
Weiterhin habe ich ein Einzelturnier mit 14 Teilnehmern. Hier scheint alles ok zu laufen.
Ich bin bei einem Provider (flatbooster.com).
Ich hoffe, dass ich alle nötigen Angaben gemacht habe.
Wo kann ich diese Größe ändern? Auf welche Größe sollte ich ändern?
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Datenbankproblem CLM 1.1.13 8 Jahre 6 Monate her #2885

  • pierre
  • pierres Avatar
  • Offline
  • Administrator
  • Beiträge: 958
  • Dank erhalten: 29
  • Karma: 9
ja, das ist jetzt eine gute fehlerbeschreibung. danke.

zuerst würde ich mir mal die aktuellen parameter, einstellungen und versionen anzeigen lassen.

hat man die möglichkeit mit phpmyadmin zu operieren, so ist das die erste wahl.
ein provider der mysql-DBs anbietet, bietet zu nahezu 100% auch phpmyadmin an. ist man in phpmyadmin drin, ist in der kopfleiste ein feld mit "variablen" beschriftet. da mal drauf klicken (noch bevor man eine der datenbanken selektiert).
da werden einem dann die servervariablen und -einstellungen aufgelistet.
da mal nach "max join size" suchen. da es alphabetisch angeordnet ist, einfach runtersrollen.
lokal ist der wert nahezu unendlich: 18446744073709551615 oder ähnliches.
beim provider wird da zumeist ein viel kleiner wert zu finden sein.
den wert bitte mal posten. und am besten noch die anderen max-werte.


in der kopfleiste gibt es auch noch einfeld das mit "status" beschriftet ist.
da auch mal drauf klicken. evtl. findet sich in dieser auflistung ein hinweis auf ein problem.

ein interessante grösse ist da zb. die variable "Select_full_join" und "Select_full_range_join" - die sollten in dem status beide 0 sein.
"Select_full_join" tendiert bei häufig genutzten DBs dazu besonders wenn viel in die DB geschrieben wurde, einen wert verschieden von Null anzunehmen.
das ist dann ein zeichen dass die indizes in den tabellen nach und nach nicht mher ok sind. ein suchen in der DB dauert dann länger.. die zahl der joins erhöht sich dadurch...
die variable "Select_scan" sollte man da auch betrachten...

insgesamt sollte man alle zahlen die da in roter farbe sind, mal genauer in augenschein nehmen.


geht phpmyadmin nicht, wird es schon problematischer. dann wäre es noch ne möglichkeit mit phpinfo.php an einige parameter zu kommen. (die tiefen mysql-einstellungen werden eim aber da leider oftmal nicht gezeigt)

dazu eine datei mit dem namen phphinfo.php mit diesem inhalt füllen:

<?PHP
phpinfo ();
?>

und hochladen. es ist egal wo die datei dabei zu stehen kommt.
anschliessend den pfad und den dateinamen als URL im Browser angeben. dann bekommt man viele, sehr parameter, einstellung und versionen angezeigt.
unter anderem auch zu mysql. dazu in der länglichen liste etwas nach unten scrollen.
was einem da angezeigt ist ein bisschen providerabhängig.

findet man da nix zu der Join-size muss man beim provider fragen.
manchmal hat man auch die möglichkeit in einer adminoberfläche beim provider einige sachen einzustellen.
die max. zulässige grösse dafür muss man ohnehin beim provider erfragen.
man kann oftmals mehr einstellen, aber es bewirkt nicht mehr.
es ist auf jeden fall ein parameter zu mysql, zur datenbank gehörend.

wenn man wissen will welche grösse eigentlich benötigt würde kann man in mysql in die logfiles schauen. evtl. muss man dazu auch erst den trace-mode einschalten (geht auch durch einen parameter by mysql . steht standardmäßig auf "off").
für diese dinge braucht man oftmals den provider-support.
mannchmal wird er auch versuchen abzuwimmeln... je nachdem...
manchmal geht es auch nicht da was verändern, ggf. weil man nur ein minimales webhosting-paket sich geleistet hat und der provider wird einem dann ein dickeres paket vorschlagen.


aber.... wenn ich so die ligen-daten anschaue, ist das nichts überdimensional grosses.. da müsste das webhosting-paket schon stark limitiert sein, dass man da in die grenze läuft.

kann man im BE mal eine der problematischen ligen exportieren ? (Reiter Datenbanken) am besten als sql-export. liga zum export auswählen, sql ankreuzeln, oben auf export klicken (das blaue feld mit weissem pfeil nach unten)
dann steht die export-datei unter "Sql-Dateien (links unten) zum download bereit.
runterladen und mir zuschicken an schachatthrondotorg - dann kann ich vielleicht genauer werden...
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Datenbankproblem CLM 1.1.13 8 Jahre 6 Monate her #2929

  • CLM_Dirk
  • CLM_Dirks Avatar
  • Offline
  • Expert Boarder
  • Beiträge: 98
  • Karma: 0
DANKE für die umfassende und schnelle Hilfe.
Nachdem ich die komplette Datenbank im phpmyadmin
exportiert und anschließend wieder importiert habe
funzt es wieder.
www.chessleaguemanager.de/components/com...s/emoticons/w00t.png
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Ladezeit der Seite: 0.050 Sekunden
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Ok