Hallöle,
habe ein Problem, das ich mir nicht erklären kann. Dieser ganz einfache Update (MySQL 5) dauert 95 sec:
<pre>94.77 sec:
#~~~~~~~~~~~~
# BUCHUNG
#~~~~~~~~~~~~
UPDATE tm_kontakte
SET
slot_nr =6
,aussteller2_id=5843
,gruppen_id =0
WHERE besucher_id =5571
AND aussteller_id=5177
AND slot_nr =0
<pre>
So habe ich die Zeit gestoppt:
list($usec, $sec) = explode(" ", microtime()); $q_start = (float)$usec + (float)$sec;
$res_buch = mysql_query( $q, $conn_id ); zeigSqlFehler( $q, $conn_id );
list($usec, $sec) = explode(" ", microtime()); $q_ende = (float)$usec + (float)$sec;
$q_dauer = round(($q_ende - $q_start) *100) /100;
if ( $q_dauer > 1.0 ) echo "<pre>".$q_dauer." sec:\n".$q."<pre>\n";
echo mysql_affected_rows( $conn_id )." Saetze gebucht<br>\n";
In der Tabelle tm_kontakte gibt es diese Keys mit den Hinweisen:
PRIMARY PRIMARY 34941 id
bes_aus UNIQUE 34941 besucher_id
aussteller_id
aus_grp_bes UNIQUE 34941 aussteller_id
gruppen_id
besucher_id
aus_bes UNIQUE 34941 aussteller_id
besucher_id
slot_nr
ausst INDEX 5823 aussteller_id
slot_nr
ausst2 INDEX 8735 aussteller2_id
slot_nr
bes_slots INDEX 11647 besucher_id
slot_nr
Die Index-Typen INDEX und UNIQUE sollten nicht gleichzeitig für die Spalte besucher\_id
gesetzt sein
Die Index-Typen INDEX und UNIQUE sollten nicht gleichzeitig für die Spalte aussteller\_id
gesetzt sein
Es sollte nicht mehr als ein Index des Typs UNIQUE für die Spalte aussteller\_id
gesetzt sein
Die Datenbank selbst ist flott. Das Stornieren dauert 0.22 sec
Lieben Gruß, Kalle