Avatar billede encorez Nybegynder
17. februar 2012 - 14:13 Der er 3 kommentarer og
1 løsning

INSERT mange rækker

Istedet for at skulle teste det selv, er der så nogen der kan svare på om det er hurtigere performance mæssigt at indsætte 100.000 rækker i klumper af f.eks. 500 stks af gangen, i modsætning til at lave én insert af gangen?

Håber spørgsmålet giver mening :)
Avatar billede Broxigar Praktikant
17. februar 2012 - 14:19 #1
Prøv evt at læse denne tråd, her snakker de om performance ved 1 mio INSERTS:

http://stackoverflow.com/questions/2993251/jdbc-batch-insert-performance

Deres konklusion er at det er hurtigst at loade fra en fil, og ellers kan man lave:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(1,2,3),(1,2,3);

Hvordan har du tænkt dig at lave de 100.000 inserts? Via phpMyAdmin eller via et programmeringssprog ?
Avatar billede encorez Nybegynder
17. februar 2012 - 14:28 #2
Som jeg gør det lige nu one by one via PHP kode

while($test = mysql_fetch_array(blabla)){
  mysql_query("insert into table (id) values('$test[id]')")
}

for at give en ide om hvordan jeg gør det.


Der kunne godt være nogle gode ideer fra det link du har givet. Tak for det.

Smid et svar for hjælpen :)
Avatar billede Broxigar Praktikant
17. februar 2012 - 14:30 #3
Som svar kan du lige få dette link med.

http://mattbango.com/notebook/web-development/prepared-statements-in-php-and-mysqli/

Den måde som du laver dit query på, er usikkert hvis det er bruger-input du indsætter.
Avatar billede Broxigar Praktikant
17. februar 2012 - 14:32 #4
Til det forrige link: Du skal formentlige lave det som et batch job, således at du laver n queries som du tilføjer til en batch, hvorefter du så executer denne batch.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester