Na SAX.PL insert 500 rekordów trwa 22 sekundy a na PHP5.SK trwa 12 sekund. Dlaczego trwa to tak długo? Czy można to jakoś przyśpieszyć? Skrypt któy uruchamiam:
<?php const DB_MYSQLI_HOST = 'localhost'; const DB_MYSQLI_PORT = 3306; const DB_MYSQLI_USER = 'xxxxxxxxx'; const DB_MYSQLI_PASS = 'xxxxxxxxxxxx'; const DB_MYSQLI_NAME = 'name_name'; const DB_MYSQLI_CHAR = 'UTF-8'; "db_port" => DB_MYSQLI_PORT, "db_user" => DB_MYSQLI_USER, "db_pass" => DB_MYSQLI_PASS, "db_name" => DB_MYSQLI_NAME, "db_charset" => DB_MYSQLI_CHAR ); $instance = NULL; try { $instance = new PDO("mysql:host=".$db_info['db_host'].';port='.$db_info['db_port'].';dbname='.$db_info['db_name'], $db_info['db_user'], $db_info['db_pass']); $instance->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT ); $instance->setAttribute( PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING ); $instance->query('SET NAMES ' . $db_info['db_charset']); $instance->query('SET CHARACTER SET ' . $db_info['db_charset']); } catch(PDOException $e) { LOG::e('Brak połączenia z bazą'); EXIT; } $stmt = $instance->prepare('DROP TABLE IF EXISTS Test_tbl'); if (!$stmt->execute()) $stmt = $instance->prepare('CREATE TABLE Test_tbl (IMIE VARCHAR(100), NAZWISKO VARCHAR(100), ADRES VARCHAR(100))'); if (!$stmt->execute()) for($x=0; $x<500; $x++) { } foreach($a as $b) { $stmt = $instance->prepare('INSERT INTO Test_tbl (IMIE, NAZWISKO, ADRES) values (:IMIE, :NAZWISKO, :ADRES)'); $stmt->bindValue(':IMIE', $b['imie'], PDO::PARAM_STR); $stmt->bindValue(':NAZWISKO', $b['nazwisko'], PDO::PARAM_STR); $stmt->bindValue(':ADRES', $b['adres'], PDO::PARAM_STR); } $stmt = $instance->prepare('DROP TABLE Test_tbl'); if (!$stmt->execute()) ?>