■実験の環境
実験環境は以下のとおりです。◆サーバーマシン
・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)テーブル
*レコード件数は、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会社情報テーブル
*レコード件数は、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で使用したプロジェクトファイル