JOINのパフォーマンス測定の実験環境


■実験の環境

実験環境は以下のとおりです。

 ◆サーバーマシン
 ・CPU  Core 2 Duo E6400
 ・メモリ 8GB(DDR2-800 2GB × 4)
 ・ネットワーク 1GB Ethernet
 ・OS   Windows Server 2003 Standard x64 Edition SP2
 ・DBMS  MySQL Server 5.5

 ◇テスト用データベース
   株価情報DBを模したもの
   以前趣味で収集したものから価格情報を乱数化しました。
   なのでデータ自体は実用性はありません。
  ・データベース名:Trade
  ・テーブル定義:
    価格(Price)テーブル<br />
    *レコード件数は、4,671,568件
		CREATE TABLE `price` (
		  `ID` int(11) NOT NULL,         -- ID
		  `CODE` int(11) NOT NULL,	     -- 会社コード
		  `RDate` datetime DEFAULT NULL, -- 日付
		  `OPEN` int(11) DEFAULT NULL,   -- 始値
		  `CLOSE` int(11) DEFAULT NULL   -- 終値
		) ENGINE=MyISAM DEFAULT CHARSET=utf8
    会社情報テーブル<br />
    *レコード件数は、1950件
    * CODEにPrimaryインデックスを張っています。
		CREATE TABLE `company` (
		  `CODE` int(11) NOT NULL,	          -- 会社コード
		  `NAME` varchar(50) NOT NULL,        -- 会社名
		  `NumberOfIssued` float NOT NULL,    -- 発行済み株式数
		  `ClosingDate` varchar(50) NOT NULL, -- 決算月
		  `UNIT` int(11) NOT NULL,            -- 単位株数
		  PRIMARY KEY (`CODE`)
		) ENGINE=MyISAM DEFAULT CHARSET=utf8

 ◆クライアントマシン
 ・CPU  Core 2 Duo E6600
 ・メモリ 4GB(DDR2-800 2GB × 2)
 ・ネットワーク 1GB Ethernet
 ・OS   Windows Server 2003 Standard Edition SP2
 ・DBアクセス  ODBC データソースネーム(DSN)をTradeで作成(Character Setをcp932で作成)
 ・ODBCドライバ MySQL Connector 5.1.8 を使用
 ・ODBCアクセスライブラリを使用

■ダウンロード


MySQLのデータベースダンプファイル(文字コードUTF8、ZIPで圧縮)

SQLの実行パフォーマンスについて 2010で使用したプロジェクトファイル

ADPのダウンロードページ