Tach!
update mytable_uid set Status= 1 WHERE uid='".$ID."'
Benötigt bei ca. 400 Einträgen in der Tabelle zwischen 2 und 3 Sekunden.
Ja, so einen langsamen Datenbankserver hatte ich früher auch mal.
Aber Scherz beiseite, bei 400 Einträgen sollte das selbst ohne Index nicht so lange dauern.
Nach dem Setzen eines Indexes auf die Spalte uid benötigt die Query nur noch 0,1 Sekunden.
Warum hat sie vor der Indizierung aber so lange benötigt? Hängt das mit dem Inhalt zusammen? Benötigt eine varchar-Spalte wirklich so viel länger?
Generell kann man sagen, dass ohne Index ein Full Table Scan durchgeführt werden muss, um die zur Bedingung passenden Daten zu finden. Also jeder Datensatz muss angeschaut werden. Mit passendem Index kann die Suche nach den Kandidaten abgekürzt werden. Der Index liegt sortiert vor, und um in einer sortierte Menge etwas zu finden, gibt es recht schnelle Algorithmen.
Warum das allerdings bei dir so lange dauert, weiß ich nicht. Ergibt EXPLAIN irgendwas auffälliges?
dedlfix.