インデックスと絞込み方法

岐阜県はとりあえずおいといて、緯度経度から市区町村を引くのに、どれぐらいのレスポンスがかかるかを見てみたところ、岐阜を除いてフルにポリゴンを入れた状態では、モルモットサーバで8秒程度かかりました。これじゃあさすがに使えない、ということで、高速化を考えてみました。
まず考えつくのが、インデックスの作成。PostGISのマニュアルを見ると、ジオメトリに対してインデックスを作ることができるようです。

CREATE INDEX (インデックス名) ON (テーブル名) USING GIST ( (ジオメトリ列名) GIST_GEOMETRY_OPS ); 

ここで、within だけを使って検索してみましたが、全く効果が出ませんでした。
ここでマニュアルを見直すと、バウンディングボックスによる検索でないと、インデックスが有効に使えないので、まずバウンディングボックスで絞り込んで、そこからWITHINを使うといいみたいです。

the_geom && 'BOX($lonmin $latmin, $lonmax $latmax)'::box2d AND WITHIN('POINT($lon $lat)'::geometry, the_geom)
($lonmin <= $lon <= $latmax, $latmin <= $lat <= $lonmax になること)