Oracle11g、PHP7.1.14、Windows10+Vagrant+CentOS7.4.1708
SQL
1CREATE TABLE TABLE1 (COL1 VARCHAR2(1500));
PHP
1$start = microtime(true); 2$length = 1387; 3try { 4 $pdo = new PDO("oci:dbname=192.168.0.xxx:1521/xxx;charset=AL32UTF8", "xxx", "xxx"); 5 $pdo->beginTransaction(); 6 $stmt = $pdo->prepare("insert into TABLE1 (COL1) values (?)"); 7 for ($i=0; $i<20; $i++) { 8 $stmt->execute([str_repeat("1", $length)]); 9 } 10 $pdo->commit(); 11} catch (PDOException $e) { 12 exit($e->getMessage()); 13} 14echo sprintf('%0.5f', microtime(true) - $start);
$lengthが1387の場合は0.5秒くらいで完了します。
$lengthが1388の場合は4.5秒くらいで完了します。
パラメータを1Byte増やすだけで処理時間が大幅に増えるのですが、どのようなことが理由として考えられるでしょうか。
宜しくおねがいします。
回答2件
あなたの回答
tips
プレビュー