@ ritesh
There are a lot of big varchars and some mediumtext's – most of which are empty or only contain relatively few characters.
So your theory about BLOBs and the like could very well be true. But wil SJA have to “unfold” those variables. A varchar[255] containing the string 'abc' takes 4 bytes on the server – one “control byte” and three data bytes. Why calculate checksums of 255 bytes when there is only 3 bytes of data? Same argumentation goes for BLOBS. At least skip calculating checksums where data fields are empty! If any optimization like this is possible it should be implemented …
It's is more than 2 times as fast to do INSERT as UPDATE. Why ? Could it have something with the php-configuration at the server to do ?