次の php スクリプトは、実行に約 22 秒かかります。それは正常ですか?そうでない場合、実行が遅くなる原因は何ですか?
$conn = mysql_connect('localhost', 'root', '123');
mysql_select_db('mydb', $conn);
$time1 = time();
for ($i=1;$i<500;$i++) {
mysql_query("Insert into accounts(id, username, email, password) VALUES(\"$i\", \"$i\",\"$i\",NOW())");
}
print time() - $time1; // return ~22
編集:テーブル構造:
CREATE TABLE IF NOT EXISTS `accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`email` varchar(200) NOT NULL,
`password` varchar(20) NOT NULL,
`status` varchar(10) DEFAULT 'pending',
`email_newsletter_status` varchar(3) DEFAULT 'out',
`email_type` varchar(4) DEFAULT 'text',
`email_favorite_artists_status` varchar(3) DEFAULT 'out',
`created_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7500 ;
このコードは、挿入速度をテストするためのものです。Zendフレームワーク(Zend_Dbのメソッドを挿入)を使用すると、同様の結果が得られるため、phpコードではなくmysqlに関連していると思います
Edit2: このクエリを実行するにはもっと良い方法があることは知っていますが、なぜこれが遅いのか知りたいです。