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