Optimizing Inserts/Updates On MySQL Tables
When doing a bulk insert/update/change to a MySQL table you can temporarily disable index updates like this:
ALTER TABLE $tbl_name DISABLE KEYS
…do stuff…
ALTER TABLE $tbl_name ENABLE KEYS
From the docs:
ALTER TABLE ... DISABLE KEYStells MySQL to stop updating non-unique indexes.ALTER TABLE ... ENABLE KEYSthen should be used to re-create missing indexes. MySQL does this with a special algorithm that is much faster than inserting keys one by one, so disabling keys before performing bulk insert operations should give a considerable speedup. UsingALTER TABLE ... DISABLE KEYSrequires theINDEXprivilege in addition to the privileges mentioned earlier.
While the non-unique indexes are disabled, they are ignored for statements such asSELECTandEXPLAINthat otherwise would use them.
No Comments
No comments yet.
Comments RSS TrackBack Identifier URI
Leave a comment