概要 次のコマンドをご覧ください。 % cp hoge.txt hogehoge.txt このコマンドを実行した後、次のコマンドを実行します。 % cp hoge.txt hogehogehoge.txt どちらが高速なのか、それは後者です。という話をしてからMySQLのダイレクトI/Oについて少々書きます。 ファイルシステムキャッシュ 前述の話ですが、単純に順番の問題です。cpコマンドは内部でread()のような参照メソッドを使用しているのですが、これらはファイルシステムキャッシュ(メモリ)にデータがあればそちらを読み込み、無ければファイル(ディスク)から読み込むという処理を行います。 参考までにメモリとHDDのアクセス時間などは次のように1000倍ほど差があります。 CPUのアクセス時間 0.0000000010 秒 10ns メモリのアクセス時間 0.0000000060 秒 60n