Spørgsmål og svar

Tilbage
Søgeord:  

Hvordan indlæser jeg mange rækker i MySQL?

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.

Bigdump.php

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.

Se også:

© 2024 Domeneshop AS · Om os · Vilkår · Fortrolighedspolitik