MySQL rename and indexes
Darrin Chandler
dwchandler at stilyagin.com
Sat Nov 4 10:14:59 MST 2006
On Sat, Nov 04, 2006 at 10:03:52AM -0700, Alex Dean wrote:
> 'SHOW CREATE TABLE' will display foreign keys if they do exist.
> 'CREATE TABLE x LIKE y' won't. Since you're using MyISAM tables,
> foreign keys are not supported so they're a non-issue.
>
> I agree with Craig that if you've got a lot of data to import,
> suspending keys during an import will save a lot of time. If you
> only have a few thousand records, you might not notice the
> difference, but with more data you'll probably get a significant
> speedup.
>
> SHOW CREATE TABLE ...
> CREATE TABLE new_table
> ALTER TABLE new_table DISABLE KEYS
> INSERT INTO new_table...
> ALTER TABLE new_table ENABLE KEYS
This has been true for at least 20 years and across a variety of
database servers. It's always worth keeping in mind. Often, the data to
import is sorted by one of the major keys. Inserting new data in key
order is a worst-case scenario for tree balancing. Even if the order is
random, the algo to build a balanced tree from scratch is still quicker
than insert/rebalance [, rinse, repeat].
--
Darrin Chandler | Phoenix BSD Users Group
dwchandler at stilyagin.com | http://bsd.phoenix.az.us/
http://www.stilyagin.com/ |
More information about the PLUG-discuss
mailing list