Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: importowanie csv, limit?
Forum PHP.pl > Forum > Bazy danych > MySQL
bodzio877
Witam

Napisałem prosty skrypt do importowania plików csv rekurencyjnie w php, ale przy importowaniu tabela osiągnie mniej więcej 1 mln. rekordów i tyle, dopiero po zrestartowaniu serwera da się upchąć następne milion. Gdzie jest limit?

System: CentOS 7
baza: MariaDB

Skrypt(uruchamiany z konsoli):


  1. <?php
  2.  
  3. echo "test";
  4.  
  5.  
  6. /*
  7.  * To change this license header, choose License Headers in Project Properties.
  8.  * To change this template file, choose Tools | Templates
  9.  * and open the template in the editor.
  10.  */
  11.  
  12. // set time limit a script is allowed to run. Default 30, 0 = no time limits.
  13.  
  14.  
  15.  
  16. $connect = mysql_connect('localhost','root','');
  17.  
  18. if (!$connect) {
  19.  
  20. die('Could not connect to MySQL: ' . mysql_error());
  21.  
  22. } else {
  23.  
  24. echo "Połączony z bazą danych";
  25.  
  26. }
  27.  
  28.  
  29.  
  30.  
  31.  
  32. $cid =mysql_select_db('test',$connect);
  33.  
  34. // supply your database name
  35.  
  36.  
  37. $rdi=new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/var/lib/mysql/2011')); foreach($rdi as $file) {
  38.  
  39.  
  40.  
  41. print $rdi->getFilename() . "<br/>";
  42.  
  43. print "/var/lib/mysql/2011" . $rdi->getFilename() . "<br/>";
  44.  
  45. $path = "/var/lib/mysql/2011/";
  46.  
  47.  
  48. $query = " LOAD DATA INFILE '".$path. $rdi->getFilename()."'
  49. INTO TABLE rok2012
  50. FIELDS TERMINATED BY ','
  51. ENCLOSED BY '\"'
  52. LINES TERMINATED BY '\n'
  53. IGNORE 1 ROWS; ";
  54.  
  55.  
  56. $n=mysql_query($query, $connect );
  57.  
  58.  
  59.  
  60. sleep(1);
  61.  
  62.  
  63. }
  64.  
  65.  
  66. echo "File data successfully imported to database!!";
  67.  
  68. mysql_close($connect);
  69.  
  70.  
  71. ?>

Pyton_000
Skrypt się zawiesza ?
Jeżeli nie to na samym końcu wypluj sobie wynik z "SHOW WARNINGS"
bodzio877
Sprawdzam warningi w bazie ale jest czysto. Skrypt się nie zawiesza. Może jakiś buffor ale który?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.