GMT+0900タイトル通りのランダムなデータを含むレコードを大量に生成したかったのでやってみました。いう時はストアドプロシージャを使うのがたぶん一般的じゃないかと思います。いうか私がそれしか知らない...。テーブルと前提tokenというテーブルのaccount_idとtoken_hashというカラムにそれぞれランダムな値を割り当てて、大量にINSERTしたいとします。delimiterについてストアドの前にdelimiterについて。通常SQLの区切り文字は;なのですが、そのままではストアドプロシージャ内で続けて処理を実行できません。(;が出現した時点で処理が終了してしまう)のでdelimiterで区切り文字を指定してやる必要があります。今回はdelimiterには//を指定しています。これで、ストアドは//がSQLの終わりであると認識するようになります。ストアド作成account_idカラムには「0~100000」のランダムな数値をtoken_hashカラムに20文字のランダムな文字列を。いう条件で1000件INSERTします。いうわけで、まず初めに下記のようなものを作ってみました。ストアド名で作成したストアドを実行できます。CreateRecords();これを実行してみると16.797秒かかりました。意外と遅いですね...。INSERTにしてみます。MySQLのストアドはORACLEと違ってアップデートできないので下記のコマンドで先ほど作成したストアドをドロップします。INSERTはVALUESの後に連続して記述することでできます。20行一気にINSERTするようにしてみました。INSERTする行数は1000行なのでループ回数は50行に設定しています。while;end//これを実行してみると...1.563秒とかなり高速化できました。実際はもっと大量にINSERTしようとするとタイムアウトになったりすると思うのでその辺りの調整も必要になってきますが、とりあえずこれでザックリと大量のデータを作成することができます。YoshinoriN)。