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

📄 mysqli_query_update_varchar.php

📁 linux下安装不上mysql5与php5的可用此关联
💻 PHP
字号:
<?PHP$runs   = array(1, 10, 100, 1000, 5000);$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)',              65000 => 'varchar(65000)',          );foreach ($runs as $k => $run) {  foreach ($types as $len => $type) {    $times['UPDATE ' . $type . ' ' . $run . 'x query()'] = 0;    $times['UPDATE ' . $type . ' ' . $run . 'x overall'] = 0;  }}$description = 'Connect, create 100 random rows with varchar of size m, o-times UPDATE random row, close. n, m, o vary.';$errors = array();function mysqli_query_update($type, $len, $runs, $host, $user, $passwd, $db, $port, $socket) {  $errors = $times = array();  foreach ($runs as $k => $run) {     $times['UPDATE ' . $type . ' ' . $run . 'x overall'] = microtime(true);    do {      if (!$link = @mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {        $errors[] = sprintf("UPDATE %s %dx 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("UPDATE %s %dx 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("UPDATE %s %dx 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));      $label = mysqli_real_escape_string($link, $label);      for ($i = 1; $i <= 100; $i++) {        if (!mysqli_query($link, "INSERT INTO test(id, label) VALUES ($i, '$label')")) {          $errors[] = sprintf("UPDATE %s %dx insert failure (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));          break 3;        }      }      $label = str_repeat('a', $len);      $id = 0;      for ($i = 0; $i < $run; $i++) {        $id = (++$id > 100) ? 1 : $id;        $sql = "UPDATE test SET label = '" . $label . "' WHERE id = " . $id;        $start = microtime(true);        $ret = mysqli_query($link, $sql);        $times['UPDATE ' . $type . ' ' . $run . 'x query()'] += microtime(true) - $start;        if (!$ret) {          $errors[] = sprintf("UPDATE %s %dx insert failure (original code = %s): [%d] %s", $type, $run, ($flag_original_code) ? 'yes' : 'no', mysqli_errno($link), mysqli_error($link));          break 3;        }      }      mysqli_close($link);      $times['UPDATE ' . $type . ' ' . $run . 'x overall'] = microtime(true) - $times['UPDATE ' . $type . ' ' . $run . 'x overall'];    } while (false);  }    return array($errors, $times);}ksort($types);foreach ($types as $len => $type) {  list ($errors, $tmp_times) = mysqli_query_update($type,  $len, $runs, $host, $user, $passwd, $db, $port, $socket);  $times = array_merge($times, $tmp_times);  if (!empty($errors))  {     break;  }}// sort by labelsksort($times);?>

⌨️ 快捷键说明

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