検索とソートの比較
前回、「FileMaker ProとMicrosoft ACCESSの比較」にて比較はあまり意味がないということを書かせていただきましたが、実際にパフォーマンスとしての比較を細かくしたことがなかったので、ちょっとしてみたくなり、してみました。
※あらかじめお断りさせていただきますが、下記のような限られた条件下でのテストですし、テスト自体も数回しか行っていないので、精度的に信頼できるものではない可能性があります。
実際、業務などで使うものは、テキスト、日付などのデータも扱いますし、検索やクエリも複雑なこともありますので、あくまでも興味本位という視点でご覧ください。
条件
・FileMaker Pro、ACCESSとも同じデータを使用・データはランダムな1~5ケタの数字が入力されているものだけ
・レコードの件数約24万件
・インデックスは双方に設定
・測定は、FileMaker Proはスクリプトで、検索・ソートを始める前に時間を取得し、最後にその差を出す。ACCESSはVBAでFileMakerと同じように時間を取得
・スタンドアローン
使用したマシンのスペック
CPU:core i7
メモリ:16GB
OS:Windows7 Pro
FileMaker:13
ACCESS:2007
ハードドライブ:SSD
ハードドライブ:SSD
条件 | FileMaker | ACCESS |
---|---|---|
ある数字(一字)が含まれるものを検索 | 0.112秒 | 0.070秒 |
ある数字(二字)が含まれるものを検索 | 0.113秒 | 0.070秒 |
ある特定の数字を検索 | 0.095秒 | 0.063秒 |
昇順でソート(約24万件の並び替え) | 3.25秒 | 0.063秒 |
上記のようになりました。テストは2回行った平均値です。2回目はPCを再起動して、行いました。
ちなみに、「ある数字」とはワイルドカードを使った検索です。
正直な感想を言うと、検索(クエリ実行)に関しては数字上では違いがありますが、人間の目には違いが分かりませんでした。
ソートに関しては明らかな違いがありました。ただ、24万件のレコードを丸ごとソートするなんて普通はしませんから、パフォーマンスとしての参考になるのかどうかは疑問はあります。
もっとレコードを増やしたり、テキストを検索したりしたら違いが出るのかなぁなんて、思ってしまいました。
また、機会があれば別の条件で試してみたいと思います。