Det finnes to måter å laste inn store mengder data på som omgår innlastingsbegrensningene. Disse har begge lav risiko for overbelastning:
1. Bulk insert
MySQL støtter innsetting (insert) av data med flere rader (rows) per insert-kommando. Det gjøres eksempelvis slik:
insert into login (brukerid,ipadresse,tid)
values
(124,'192.168.1.9','2006-03-22 10:14:14),
(125,'192.168.12.4','2006-03-22 10:19:21),
(101,'192.168.97.24','2006-04-01 01:01:01);
Programmet mysqldump, som er installert på vår shell-server, lager slike bulk insert-optimerte filer.
Se også MySQL-dokumentasjonen for INSERT.
2. Staggered upload
En teknikk som kalles "staggered insert/upload" består i at data lastes inn i etapper. Det finnes gratis script for å gjøre dette tilgjengelig på nettet, og et som er mye brukt er bigdump.php (ozerov.de). Pass på å passordbeskytte adgangen til bigdump.php.
For å unngå overbelastning må man gjøre noen endringer i bigdump.php ved å åpne filen i en teksteditor og endre følgende
linjer:
$db_server = 'mittnavn.mysql.domeneshop.no';
$db_name = 'mittnavn';
$db_username = 'mittnavn';
$db_password = 'mittpassord';
$filename = '';
$csv_insert_table = '';
$csv_preempty_table = false;
$ajax = true;
$linespersession = 800; // linjer per sesjon
$delaypersession = 100000; // millisekunder (1/1000 sek) pause
Bytt ut alle forekomster at mittnavn med ditt brukernavn og mittpassord med ditt databasepassord. Variablene $linespersession og $delaypersession er satt for å unngå at importeringen overstiger begrensningene for databasebruk. Selve databasefilen kan enten (1) lastes opp til samme mappe som bigdump.php eller (2) åpnes ved å starte scriptet i en nettleser. Husk at Javascript må være aktivert i forkant.
Vær oppmerksom på at dette kan ta lang tid, avhengig av hvor stor filen er. Importeringen er ferdig når meldingen Congratulations: End of file reached, assuming OK vises nederst på siden.