Hey,
ik heb een tabel die continu aangevuld wordt met nieuwe data, daarnaast heb ik een tabel die totalen bijhoud (totaal nu 12.2miljoen records) (en nog een hoop andere gegevens) laten we ze voor het gemak even taarten noemen.
even een voorbeeldje van tabel: input_taart
appeltaart
bosbestaart
frambozetaart
appeltaart
slagroomtaart
appeltaart
etc.
tabel: main_taart(taart = uniek)
appeltaart 5
bosbestaat 1
frambozetaart 3
etc.
nu kijkt mijn script naar de tabel input_taart
- pak regel 1
- doe count in input_taart naar het woord in regel 1
- kijkt of de taart al voorkomt in tabel: main_taart
--- nee: insert taart 1
--- ja: tel taart_count op bij gevonde waarde en update die waarde
- delete from input_taart where taart='$regel1'
- regel 2, regel 3 etc.
(dit scriptje doet 80k regels in 10 minuten
)
nu duurt bovenstaande nogal lang, en kan ik het veel korter maken als ik doe:
- pak regel 1
- kijkt of de taart al voorkomt in tabel: main_taart
--- nee: insert taart 1
--- ja: update waarde + 1
- regel 2, regel 3 etc
- truncate table input_taart
(dit scriptje doet 80k regels in ongeveer 60sec)
als ik mijn selectie voor het 2de scriptje maak, selecteer ik dus regels 1t/m80.000, aan het einde van het scriptje zijn die 80.000 regels al 90.000 regels geworden, als ik nu een truncate doe worden dus 90k regels verwijderd ipv 80k regels.
hoe kan ik dit het beste aanpakken?
opties:
- extra regel invoeren die een count doet op het geselecteerde aantal regels, en vervolgens een 'delete from input_taart LIMIT $regelcounter'
- nieuwe tabel maken, data verhuizen van input_taart naar temp_taart, en daarna truncate temp_taart
- anders? (ideeën zijn welkom)
ik heb een tabel die continu aangevuld wordt met nieuwe data, daarnaast heb ik een tabel die totalen bijhoud (totaal nu 12.2miljoen records) (en nog een hoop andere gegevens) laten we ze voor het gemak even taarten noemen.
even een voorbeeldje van tabel: input_taart
appeltaart
bosbestaart
frambozetaart
appeltaart
slagroomtaart
appeltaart
etc.
tabel: main_taart(taart = uniek)
appeltaart 5
bosbestaat 1
frambozetaart 3
etc.
nu kijkt mijn script naar de tabel input_taart
- pak regel 1
- doe count in input_taart naar het woord in regel 1
- kijkt of de taart al voorkomt in tabel: main_taart
--- nee: insert taart 1
--- ja: tel taart_count op bij gevonde waarde en update die waarde
- delete from input_taart where taart='$regel1'
- regel 2, regel 3 etc.
(dit scriptje doet 80k regels in 10 minuten
nu duurt bovenstaande nogal lang, en kan ik het veel korter maken als ik doe:
- pak regel 1
- kijkt of de taart al voorkomt in tabel: main_taart
--- nee: insert taart 1
--- ja: update waarde + 1
- regel 2, regel 3 etc
- truncate table input_taart
(dit scriptje doet 80k regels in ongeveer 60sec)
als ik mijn selectie voor het 2de scriptje maak, selecteer ik dus regels 1t/m80.000, aan het einde van het scriptje zijn die 80.000 regels al 90.000 regels geworden, als ik nu een truncate doe worden dus 90k regels verwijderd ipv 80k regels.
hoe kan ik dit het beste aanpakken?
opties:
- extra regel invoeren die een count doet op het geselecteerde aantal regels, en vervolgens een 'delete from input_taart LIMIT $regelcounter'
- nieuwe tabel maken, data verhuizen van input_taart naar temp_taart, en daarna truncate temp_taart
- anders? (ideeën zijn welkom)