皆さんがこのパフォーマンスについてどう思うかを確認したかっただけです...
私は Intel i7 ivybridge クワッド、16GB DDR3 RAM、サーバー/mysql ドライブ用の 7200RPM ドライブなどを持っています...
1000 レコードに対して簡単な更新を実行しました: $q2 = "UPDATE msg_inbox SET receivedtime='$epochTime' WHERE id='$id' LIMIT 1 ";
これのそれぞれが現在のforeachループに基づいて(返された各IDで)起動されることを認めます..しかし、この更新クエリをコメントアウトすると、ページは1000レコードすべてをロードするのに0.0300秒かかります..
しかし、更新クエリを使用すると、ページが完全に完了するまでに57秒かかります... PHPマイクロタイムを使用して確認しました。
これは正常で、期待どおりのパフォーマンスですか、それとも何か問題がありますか? (おそらく私のマシン)
よろしく
表情報: 定義:
CREATE TABLE `msg_inbox` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sender` varchar(20) NOT NULL,
`sender_name` varchar(100) NOT NULL,
`receiver` varchar(20) NOT NULL,
`receiver_name` varchar(20) NOT NULL,
`msg` tinytext NOT NULL,
`senttime` int(10) NOT NULL,
`receivedtime` int(10) NOT NULL,
`operator` varchar(20) NOT NULL,
`device_name` varchar(50) NOT NULL,
`msgtype` varchar(20) NOT NULL,
`read_by` varchar(20) NOT NULL COMMENT 'marks a message to be read or unread with ID of who read it',
`folder_id` int(11) DEFAULT '0',
`owner` int(11) DEFAULT '0',
`prefix` varchar(10) NOT NULL,
`raw_gwdata` text,
`stat` enum('normal','important','deleted') NOT NULL DEFAULT 'normal',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8528 DEFAULT CHARSET=latin1;
現在、テーブルには合計 7887 行あります。