Mailinglisten-Archive |
>Huhu, >gibt es eine Mysql-Moeglichkeit, die Differenzen zwischen zwei strukturell >gleichen Tabellen in eine andere zu speichern resp. als Result-Set zu bekommen >? >Die Datenbank ist GROSS, deswegen die Updatemethodik. Ich kann natuerlich auch >per PHP die Datensaetze vergleichen und dann eine neue Tabelle oder ein LOAD >DATA INFILE-Dings bauen. Denke mir aber ,dass vielleicht MySQL sowas schon >mitbringt. Allerdings schweigt da die Doku, oder ich finde es nur nicht. Hi Clemens, Auszug aus Doku: When loading a table with data, use LOAD DATA INFILE. This is usually 20 times faster than using a lot of INSERT statements. See section 7.15 LOAD DATA INFILE syntax. You can even get more speed when loading data into a table with many indexes using the following procedure: Create the table in mysql or Perl with CREATE TABLE. Execute mysqladmin flush-tables. Use isamchk --keys-used=0 -rq /path/to/db/tbl_name. This will remove all usage of all indexes from the table. Insert data into the table with LOAD DATA INFILE. If you have pack_isam and want to compress the table, run pack_isam on it. Recreate the indexes with isamchk -r -q /path/to/db/tbl_name. Execute mysqladmin flush-tables. Es gibt noch eine bösartige Methode: Einfach die Tabelle mit nem copy -Befehl überschreiben. Dazu solltest du aber den mySQl - Server vorher runterfahren. Geht natürlich ratzfatz schnell. Eine dritte Möglichkeit ist den MySQL - Server gleich zu spiegeln. Einmal eingerichtet musst du dich um nichts mehr kümmern. (in Kapitel 18 steht da einiges drin) MFG Wolfgang
php::bar PHP Wiki - Listenarchive