phpbar.de logo

Mailinglisten-Archive

Achtung schwierige Frage

Achtung schwierige Frage

Ralf Narozny mysql-de_(at)_lists.bttr.org
Fri, 05 Jul 2002 17:40:46 +0200


Mahlzeit!

Georg Richter wrote:

>On Thursday, 4. July 2002 13:56, Ralf Narozny wrote:
>
>Moin,
>
>  
>
>>CREATE TABLE temp SELECT id FROM tab1 WHERE tstamp BETWEEN <irgendwas>
>>AND <nochwas>;
>>ALTER TABLE temp ADD PRIMARY KEY (id);
>>DROP TABLE IF EXISTS tab2;
>>RENAME TALE temp TO tab2;
>>
>>    
>>
>
>Welche Version und Tabletype verwendest Du, und wie sind die Einstellungen 
>für Replication in Deiner my.cnf?!
>  
>

mysql  Ver 11.16 Distrib 3.23.49, for pc-linux-gnu (i686)

Master:
log-bin
server-id       = 1
binlog-ignore-db= mysql
binlog-do-db    = <eine db>


Replica:
master-host           = <IP>
master-user           = <username>
master-password       = <passwd>
master-port           = 3306
replicate-ignore-db   = mysql
replicate-do-db       = <eine db>
server-id             = 2


Die Replikation funktioniert gemeinhin...ich habe inklusive Testing auf den
Maschinen sicher minimal 10 GB Replikationsvolumen gehabt.

>Wieso machst Du das so kompliziert:
>DELETE FROM TAB2
>INSERT INTO TAB2 SELECT id FROM TAB1 WHERE ...
>  
>

Ziemlich einfach, da Anforderung war, daß die Tabelle 20 Millionen Einträge
haben können muß und ich dann mit Deiner 'einfachen' Methode zulange
nicht auf die Tabelle zugreifen könnte.  Beim RENAME habe ich nur eine
'downtime' der Tabelle, im Millisekundenbereich, während die Dateien
auf dem System umbenannt werden und MySQL seine Daten aktualisiert,
während mit DELETE und INSERT ich mit etwa 1 Stunde für das INSERT
rechnen müsste.

Aber das ist auch nicht das Problem, sondern die Tatsache, daß ein 
RENAME TABLE zu einer INSERT Fehlermeldung werden kann...

Gruß
 Ralf

-- 
Ralf Narozny
SPLENDID Internet GmbH & Co KG
Skandinaviendamm 212, 24109 Kiel, Germany
fon: +49 431 660 97 0, fax: +49 431 660 97 20
mailto:rnarozny_(at)_splendid.de, http://www.splendid.de



---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive