猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

DataBase MySQL

MySQLの実行速度テスト用PHP

投稿日:2013年10月4日 更新日:

1.testデータベースにtest_tableテーブルを作成。
2.1万件のデータを登録します。
3.1000件のフラグを更新
4.更新したデータを検索する時刻を測定して表示
するサンプルです。

<?php

/* B接続 */
$con = mysql_connect("localhost","root","pass");
if (!$con)
{
   echo mysql_error();
}

/* DB選択 */
mysql_select_db("test", $con);

/* テーブル作成 */
$sql="DROP TABLE IF EXISTS `test`.`test_table`;";
if(!mysql_query($sql)){
    echo "sql=[".$sql."]".mysql_error();
    exit;
}

$sql="
CREATE TABLE  `test`.`test_table` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(45) DEFAULT NULL,
  `status` char(3) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `Index_2` (`status`)
)";
if(!mysql_query($sql)){
    echo "sql=[".$sql."]".mysql_error();
    exit;
}

/* データ登録 */
for ($i=0;$i<10000;$i++){
    $sql="insert into test_table(name,status)values('test tarao ".$i."','0')";
    if(!mysql_query($sql)){
        echo "sql=[".$sql."]".mysql_error();
        exit;
    }
}

/* データ更新 */
for ($i=0;$i<10;$i++){
    $id=rand(1,1000); //1~1000までの乱数
    $sql="update test_table set status='1' where id='".$id."'";
    if(!mysql_query($sql)){
        echo "sql=[".$sql."]".mysql_error();
        exit;
    }
}

/* START時間 */
$time_start = microtime(true);

/* SELECT実行 */
$cnt=10;
for ($i=0;$i 
# /usr/bin/php test.php
回数=10 実行時間=0.004秒 平均=0.000秒

自由に修正して使用してください。

Gooleアドセンス用336

Gooleアドセンス用336

-DataBase, MySQL
-

執筆者:

関連記事

mysql

MySQLで相関サブクエリを実行する

相関サブクエリとは、SQLの実行結果の行と行を比較することです。 ある行とある行の時間差を求めることで何秒間隔でデータが登録されているかがわかったり、 ある行とある行の売上差を求めることで、売上の上が …

mysql

MySQLのChar型は”(ダブルクォーテーション)ではなく'(シングルクォーテーション)でSELECT

タイトルの通り MySQLのChar型は”(ダブルクォーテーション)ではなく'(シングルクォーテーション)で囲ってSELECT しなければなりません。 正確には、そうしなければパフォーマン …

mysql

MySQLのwait_timeout

データベースやWebサーバーは、実際に稼働してから問題が多発します。 データ量が増えてきたり、アクセスが増えてきたらまずレスポンスの問題が発生するでしょう。 経験のあるエンジニアがいれば、十分なテスト …

mysql

utilitiesのmysqlrplshowを使いたい

かれこれ3日ほどはまったので恥を忍んでここに記載しておきます :x001: 構成は以下の通りです。 Windows8:192.168.0.99。mysqlrplshowを実行する └centos:19 …

sqlserver

SQLSERVER サービス起動用ユーザーを作成する

SQLサーバーのサービスを起動しているのは、デフォルトではおそらくAdministratorです。 ここに大きな落とし穴があります。 Administratroのパスワードを変更することはセキュリティ …