MySQL の SQL_CALC_FOUND_ROWSがやたら遅い件について

いろいろ調べてみた

検索対象のデータは全文インデックスを貼ったテーブル
中身は15万件程度
対象となる件数は1000件とか
テーブルはMyISAM

んで

SELECT SQL_CALC_FOUND_ROWS * FROM foo WHERE MATCH(bar) AGAINST('hogehgoe' IN BOOLEAN MODE) LIMIT 550, 10;

みたいな感じでやると

初回:3秒ほど
2回目以降:0.14秒とか
ちなみに1回やってしまえばそれ以降は早い・・・(どっかにキャッシュされてんのかな?)

SQL_CALC_FOUND_ROWSをつけないで実行すると0.05秒とか

うーん、謎だ・・・

で、辿りつたのはこの辺

1
http://blog.yappo.jp/yappo/archives/000264.html
2
http://www.l2tp.org/?p=84

1のほうが原因なのかなぁ・・・とか思いつつ、でも2回目以降が早くなる要因が不明
とりあえず全文検索SQL_CALC_FOUND_ROWSの関連性について調べる必要有り

ちなみにEXPLAINの結果はUsing Where