Hi,
If you have one single file per table, then the table is not partitioned (on have only one partition).
In 5.1 innodb_file_per_table must be set when starting the server, like in the my.cnf file.
To enable separate 'tablespace' for InnoDB in 5.5:
SET GLOBAL innodb_file_per_table = ON;
To create a partitioned table:
CREATE TABLE t (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY HASH (a) PARTITIONS 3;
This would create three files:
t#P#p0.ibd, t#P#p1.ibd and t#P#p2.ibd besides the .par and .frm table files.
A non partitioned innodb table would only have the t.frm and t.ibd files.
For MyISAM (and not Windows) you can do:
CREATE TABLE t2(a INT, b VARCHAR(64))
ENGINE = MyISAM
PARTITION BY RANGE (a)
(PARTITION pNeg VALUES LESS THAN (0)
DATA DICTIONARY '/data_path_0/' INDEX DIRECTORY '/index_path_0/',
PARTITION p100 VALUES LESS THAN (100)
DATA DICTIONARY '/data_path_1/' INDEX DIRECTORY '/index_path_1/',
PARTITION p1000 VALUES LESS THAN (1000)
DATA DICTIONARY '/data_path_2/' INDEX DIRECTORY '/index_path_2/';
where you can specify both data and index files to different spindles for each partition.
for more details, see the manual, starting at:
http://dev.mysql.com/doc/refman/5.5/en/create-table.html