|
||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||
| LOAD文試験の内容と結果 | ||||||||||||||
|
使用したLOAD文は次の通りです。 試験用LOAD文 「TESTDATA.csv」ファイルには100万件分のデータが含まれており、ファイルサイズは103,796,650Byteです。 それぞれのストレージエンジンごとの処理時間は図2の通りになりました。 ![]() 図2:LOAD文試験の結果 ディスク上にデータを書き出さないMemoryエンジンの速度が速いことは当然の結果と思います。 また表2に、MyISAM/Archive/CSVエンジンの100万件のレコードを格納したテーブルファイルのサイズを示します。Archiveエンジンのテーブルファイルのサイズは他の2つに比べて小さいことがわかります。
表2:テーブルファイルのサイズ
|
||||||||||||||
| SELECT文試験の内容と結果 | ||||||||||||||
|
ストレージエンジン別の「TEST00」テーブルに、100万件のレコードを格納した状態で次の3種類のSELECT文について試験を実施しました。 試験用SELECT文1
SELECT COUNT(*) FROM TEST00
試験用SELECT文2
SELECT SUM(ADDR_CO_ID) FROM TEST00
試験用SELECT文3
SELECT ADDR_CO_ID FROM TEST00 WHERE ADDR_ID = ?
SELECT文1は「TEST00」テーブルのレコード数を抽出します。SELECT文2は、ADDR_CO_IDカラムの値について全レコード分の合計値を抽出します。基本的には、SELECT文1、2ともに100万件レコードを全件探索しなければ答えを得ることはできません。 SELECT文3は、指定したADDR_IDカラムの値を持つレコードを検索し、ADDR_CO_IDカラム値を抽出します。指定するADDR_IDカラムの値(SELECT文中の"?"部分)には、SELECT文を発行するごとに異なった値を設定します。「TEST00」テーブルのADDR_IDカラムはプライマリーキーであり、インデックスをサポートしているストレージエンジンでは、ユニークインデックスが存在しています。 試験方法は、性能測定用アプリケーションから上記のSELECT文を連続して100回発行し、100回分の処理に要した時間を測定しました。 結果は図3の通りです。SELECT文別の測定結果の値には大きな差がありました。そこで、それらの結果を1つのグラフ上に載せるため、縦軸のメモリは対数になっていますので注意してください。 ![]() 図3:SELECT文試験の結果 この結果から次のことがわかります。
表3:SELECT文と各ストレージエンジン
|
||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||



