Ilja: Caching by MySQL

Beitrag lesen

yo,

Da es sich um sehr(!) viele Datensätze handelt, wäre es besser, wenn dies schrittweise geschehen würde. Also wie:

was wäre den daran der vorteil oder setzt du nach jedem insert auch ein commit ein ?

Kann man MySQL anders beibringen, dass es z.B. immer nach 100 Einträgen die Daten "abschickt" und nicht alles cachet?

stichwort transaktionen, selbst wenn er das tun würde, wäre dir damit noch nicht geholfen. du musst die tranksaktion mit einem commit abschließen, s.o.

was geht wäre, wenn du aus dem SELECT viele INSERT anweisungen erzeugst, dir also quasi pro Datensatz einen String zusammen setzt, so mache ich das in bestimmten fällen ab und zu. aber auch hier muss wieder ein COMMIT folgen, damit das INSERT auch wirklich wirksam ist.

SELECT 'INSERT INTO tabelle (spalte1) VALUES (''' || tab1.spalte1 || ''');'
FROM tabelle tab1

die dreifachen ' dienen der maskierung, habe als beispiel erst mal eine tabelle genommen.

noch ein hinweis, benutze liber explizite anstelle von impliziten JOINS. also nicht mit komma getrent die tabellen, sondern

SELECT ..
FROM tab1
INNER JOIN tab2 ON tab2.saplte = tab1.spalte
...

Ilja