A significant gain you have with innodb_file_per_table is that of shrinking the 
tablespaces.
You can do that with "OPTIMIZE TABLE <innodb-tbl>;"

You ibdata1 file should only contain metadata and some transaction logging info.

If your ibdata1 is gigantic, you have to do the following to shrink it:

01) In mysql, run "SELECT GROUP_CONCAT(DISTINCT table_schema SEPARATOR ' ') 
FROM information_schema.tables where engine='InnoDB';"
02) In Linux, run "mysqldump -h... -u... -p... --routines --triggers 
--databases [space-delimited list of dbs from step 1] > /root/InnoDBData.sql"
03) In mysql, run "SELECT DISTINCT CONCAT('DROP DATABASE ',table_schema,';') 
FROM information_schema.tables where engine='InnoDB';"
04) In mysql, drop the databases specified in step 3
05) In Linux, run "service mysql stop"
06) In Linux, run "mv /var/lib/mysql/ibdata1 /var/lib/mysql/ibdata1.old"
07) In Linux, run "rm -f /var/lib/mysql/ib_logfile[01]"
08) In Linux, run "vi /etc/my.cnf" and make sure it has 
'innodb_data_file_path=ibdata1:10M:autoextend' and 'innodb_file_per_table'.
09) In Linux, run "service mysql start" (This recreates ibdata1, ib_logfile0 
and ib_logfile1)
10) In mysql, run "source /root/InnoDBData.sql" (This reloads all InnoDB data, 
populates ibdata1 with metadata)

Rolando A. Edwards
MySQL DBA (CMDBA)

155 Avenue of the Americas, Fifth Floor
New York, NY 10013
212-625-5307 (Work)
201-660-3221 (Cell)
AIM & Skype : RolandoLogicWorx
redwa...@logicworks.net

-----Original Message-----
From: Sebastien Moretti [mailto:sebastien.more...@unil.ch] 
Sent: Thursday, May 28, 2009 2:38 AM
To: Baron Schwartz; mysql@lists.mysql.com
Subject: Re: innodb_file_per_table cost

> Hi Sebastian,
> 
> It depends.  In general, no.  In some filesystems and operating
> systems, it actually helps.  I think you can base your decision on
> whether it makes server administration easier for you.
> 
> Regards
> Baron

Thanks

It seems there are no clear thresholds between I/O access, the number of 
innodb index files, their sizes, ...


>> Hi,
>>
>> Does the use of "innodb_file_per_table" option imply a performance cost ?
>> Compared to default: all InnoDB indexes are in ibdataX file(s).
>>
>> Thanks

-- 
Sébastien Moretti


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=redwa...@logicworks.net


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to