Alternative zu sort by rand
Harald
- datenbank
0 ChrisB
Hallo zusammen,
ich habe ein kleines Problem mit einer Mysql Datenbank. Die Datenbank besteht aus über 4 Millionen Einträgen. Ich möchte nun aus dieser Datenbank zufallsgeneriert eine neue Datenbank mit nur 1 Million Einträgen erstellen.
Wenn ich jedoch sort by rand benutze, wird anscheinend eine so große temporäre Datei erstellt, daß ich jedesmal die Fehlermeldung "Server shutdown in progress" erhalte.
Gibt es irgendeine effizientere Methode, zufallsgeneriert 1 Million Datensätze in eine neue Datenbank zu übernehmen ?
Ich habe schon daran gedacht, den Datensätzen jeweils eine neue zufallsgenerierte ID ( $RAND = rand(1,4441117) ) zu geben und dann nach der neuen Id sortieren zu lassen.
Vielleicht hatte ja bereits jemand dieses Problem und kennt eine effizientere Möglichkeit zur Lösung des Problems.
Hi,
ich habe ein kleines Problem mit einer Mysql Datenbank. Die Datenbank besteht aus über 4 Millionen Einträgen. Ich möchte nun aus dieser Datenbank zufallsgeneriert eine neue Datenbank mit nur 1 Million Einträgen erstellen.
Du meinst also eigentlich Tabellen, wenn du von Datenbanken sprichst.
Wenn ich jedoch sort by rand benutze, wird anscheinend eine so große temporäre Datei erstellt, daß ich jedesmal die Fehlermeldung "Server shutdown in progress" erhalte.
Welches DBMS benutzt du?
Gibt es irgendeine effizientere Methode, zufallsgeneriert 1 Million Datensätze in eine neue Datenbank zu übernehmen ?
Du könntest bspw. beim Durchlaufen aller einen Datensatz nur mit einer Wahrscheinlichkeit von 1:4 übernehmen. (Musst dabei aber so lange weitermachen, bis du eine Million zusammen hast - und dabei ggf. wieder von vorne anfangen, und dabei bereits gewählte DS ignorieren.)
MfG ChrisB