⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysqli_stmt_insert.php

📁 linux下安装不上mysql5与php5的可用此关联
💻 PHP
字号:
<?PHP$runs   = array(1, 10, 100, 1000, 5000); // equals #rows$types = array(              127   => 'varchar(127)',              255   => 'varchar(255)',              512   => 'varchar(512)',              1024  => 'varchar(1024)',              2048  => 'varchar(2048)',              4096  => 'varchar(4096)',              8192  => 'varchar(8192)',              16384 => 'varchar(16384)',              32768 => 'varchar(32768)',          );foreach ($runs as $k => $run) {  foreach ($types as $len => $type) {    $times['INSERT ' . $type . ' ' . $run . 'x = #rows query()'] = 0;    $times['INSERT ' . $type . ' ' . $run . 'x = #rows overall'] = 0;  }}$description = 'Connect, n-times INSERT varchar of size m, close. n and m vary.';$errors = array();function mysqli_query_insert($type, $len, $runs, $host, $user, $passwd, $db, $port, $socket) {  $errors = $times = array();  foreach ($runs as $k => $run) {     $times['INSERT ' . $type . ' ' . $run . 'x = #rows overall'] = microtime(true);    do {      if (!$link = @mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {        $errors[] = sprintf("INSERT %s %dx = #rows  connect failure (original code = %s)", $type, $run, ($flag_original_code) ? 'yes' : 'no');        break 2;      }      if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) {        $errors[] = sprintf("INSERT %s %dx = #rows drop table failure (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));        break 2;      }      if (!mysqli_query($link, sprintf("CREATE TABLE test(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, label %s)", $type))) {        $errors[] = sprintf("INSERT %s %dx = #rows create table failure (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));        break 2;      }      $label = '';      for ($i = 0; $i < $len; $i++)        $label .= chr(mt_rand(65, 90));            $start = microtime(true);      if (!$stmt = mysqli_stmt_init($link)) {        $error[] = sprintf("INSERT %s %dx = #rows mysqli_stmt_init() failed (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));        break 2;      }      $ret = mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)");      $times['INSERT ' . $type . ' ' . $run . 'x = #rows stmt_init() + stmt_prepare()'] += microtime(true) - $start;      if (!$ret) {          $error[] = sprintf("INSERT %s %dx = #rows mysqli_stmt_init() failed (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));        break 2;      }                  $start = microtime(true);      $ret = mysqli_stmt_bind_param($stmt, 'is', $i, $label);            $times['INSERT ' . $type . ' ' . $run . 'x = #rows stmt_bind_param()'] += microtime(true) - $start;      if (!$ret) {          $error[] = sprintf("INSERT %s %dx = #rows mysqli_stmt_bind_param failed (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));        break 2;      }      for ($i = 1; $i <= $run; $i++) {          $start = microtime(true);          $ret = mysqli_stmt_execute($stmt);          $times['INSERT ' . $type . ' ' . $run . 'x = #rows stmt_execute()'] += microtime(true) - $start;          if (!$ret) {          $errors[] = sprintf("INSERT %s %dx = #rows stmt_execute failure (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));          break 3;        }      }      mysqli_stmt_close($stmt);      mysqli_close($link);     } while (false);    $times['INSERT ' . $type . ' ' . $run . 'x = #rows overall'] = microtime(true) - $times['INSERT ' . $type . ' ' . $run . 'x = #rows overall'];  }    return array($errors, $times);}ksort($types);foreach ($types as $len => $type) {  list ($errors, $tmp_times) = mysqli_query_insert($type,  $len, $runs, $host, $user, $passwd, $db, $port, $socket);  $times = array_merge($times, $tmp_times);  if (!empty($errors))  {     break;  }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -