MySQL sehr langsam

oh man...
jetzt habe ich irgendwas falsch gemacht und alle "idnumber" auf die gleiche Zahl gesetzt!
Jetzt haben alle Einträge die "idnumber" 2147483647 !
mad.gif


Ich lasse den Hoster jetzt ein Backup der Datenbank einspielen und dann bin ich wieder bei null
unsure.gif
 
QUOTE (Felix Weber @ Sa 25.02.2012, 10:28) [...]
Nein wird er nicht, denn die idnumber ist einzigartig!
Soll ich jetzt unter "Struktur" einfach das Feld "id" löschen?
Und bei den "Indizes:" den "PRIMARY" ?
[...]

Prinzipell richtig, nur musst Du vorher die doppelten Einträge entfernen.
wink.gif
 
QUOTE Prinzipell richtig, nur musst Du vorher die doppelten Einträge entfernen.


Cool! Kleiner Tipp, wie ich das mache?
wink.gif
 
Du nimmst Deine aktuelle Tabelle inkl. des "id"-Feldes als Primärschlüssel und führst folgende Anweisung aus:

CODE CREATE TABLE duplicates_users AS (
 SELECT b.id FROM users a, users b
  WHERE a.id != b.id
    AND a.idnumber = b.idnumber
    AND a.id < b.id
)

Kleiner Fehler Du musst das wie folgt machen:


CODE DELETE FROM users WHERE id NOT IN (SELECT * FROM duplicates_users);


Danach solltest Du einen neue und bereinigte Tabelle bekommen, in der Du dann die Spalte "id" löscht und alle Indexe. Danach machst Du idnumber zum Primärschlüssel. Und um es abzurunden noch kurz ein OPTIMIZE TABLE durchführen.

Ich habe hier bewusst keine Kontrolle auf das Feld Name durchgeführt.

Nach Möglichkeit kopiere vorher die original Tabelle, falls was schief geht.



Mehr dazu: http://blog.ebene7.com/2011/01/12/mysql-do...aetze-loeschen/
 
biggrin.gif


Danke euch allen!
Hat am ende super geklappt und ich bin mit der ursprünglichen Anfrage runter auf
0,00...03 !!!

Danke für die tolle Hilfe!
 
Zurück
Oben