1000件のデータを一回づつinsertを発行すると
遅くなるので良い方法がないか調べていたら

良い方法を発見ひらめき電球
MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 5.2.10 IN

データをためて一括で登録させる。
// アップデートするデータを「$i_page」に累積させる
$i_page .= "('$lid', '$ldate', '$lcount'),";

// 「$i_page」の最後の一文字を除去
$i_page = substr($i_page ,0, -1);

mysql_query("INSERT INTO page VALUES ".$i_page);

調べているときにMySQLを高速化する方法を
発見したのでメモひらめき電球
MySQLの最適化 - 株式会社M&Aバンク

以下引用です。
MySQLの最適化
  • 可能な限りSQL文は後から一括して実行。
  • LIMITを使い、呼び出すレコード数を制限。
  • SELECT等においてフィールドを呼び出す際、インデックスがあるものを優先して指定。
  • ソートする場合はインデックスがあるフィールドを「ORDER BY」において指定。
  • グループ化(「GROUP BY」)する際にソートする必要がない場合でも「ORDER BY NULL」と指定。
  • マルチプル「INSERT INTO」を利用。(※後から一括してSQL文を実行)
  • UPDATEは遅い。一度「TRUNCATE TABLE」でテーブルを空にした後に更新されたデータを一気にマルチプル「INSERT INTO」することを検討。
  • DELETEは遅い。「TRUNCATE TABLE」を検討。
  • 大量のレコードをDELETEした後は「OPTIMIZE TABLE」でテーブルを最適化。
  • WHERE節で不必要な()を使わない。
  • WHERE節で「LIKE」の代わりに「REGEXP」や「in」が使えないか検討。