Hi! On Dec 27, Thomas Spahni wrote: > Hi everyone > > I am using 3.23.39 and newer on Linux and do: > > me> mysqladmin flush-tables > me> myisamchk --keys-used=0 -rq /path/to/db/tbl_name > > before inserting lots of data (15 mio rows) with LOAD DATA INFILE > > and then re-create the indexes with > > me> myisamchk -r -q /path/to/db/tbl_name > > as suggested in the manual. This really speeds up inserts but has some > disadvantages: > > - ordinary users can't use the script, because they have no > privileges on the *.MYI file (or I have to add rw system privilege > on the index file for 'others' :-(( ) > > - mysqld must be brought down for running myisamchk or I have to ensure > that no one is using the tables while I'm running `myisamchk'. > > Now new hope is brought by mysqlcheck which is using the mysqld daemon. It > should allow ordinary users to run it given they have appropriate mysql > privileges and there is no need to shut the server down. > > BUT mysqlcheck lacks the --keys-used=0 option. WHY? > Is there any workaround? I would be happy to stop > key generation, do a fast LOAD DATA INFILE and then > generate the keys as a normal user without taking the server > down or making database directories and index files world writable. > > Any hints (even RTFM) would be appreciated. > Thomas Spahni
There is such a feature in 4.0.0 ALTER TABLE table_name DISABLE KEYS (and ... ENABLE KEYS). It cannot be backported into 3.23 - as 3.23 is _stable_ which means "no new features". Regards, Sergei -- MySQL Development Team __ ___ ___ ____ __ / |/ /_ __/ __/ __ \/ / Sergei Golubchik <[EMAIL PROTECTED]> / /|_/ / // /\ \/ /_/ / /__ MySQL AB, http://www.mysql.com/ /_/ /_/\_, /___/\___\_\___/ Osnabrueck, Germany <___/ --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php