MySQL优化(5):分区
分区: 分区也是MySQL优化中的一个重要方式 将一个表中的数据和索引,分散到不同的文件中进行存储 通常情况下,一个表,对应一组数据和索引文件,一个表的数据和索引集中存储在这组文件中 当一个表出现了大量的记录时,可以将其分布到不同的数据和索引文件中进行存储 Innodb来说,一个表对应多个ibd文件 MyISAM来说,一个表对应多个myi,myd文件 分布之后,每个文件中包含的记录数量显著减少,保证单独文件的执行效率 最常用的分区语法是:使用ID,将数据分布到多个分区中 在设计表的时候使用partition选项完成分区,需要提供分区算法和算法参数,完成分区操作 create table [table-name]( id int unsigned auto_increment primary key, subject varchar(255), content text )charset utf8 engine innodb partition by hash(id) partitions 10 ; 正常的建表语句,最后一行表示利用ID字段,使用HASH算法,将数据分布到十个分区内 建表成功之后,可以发现数据库中虽然只是一张表,但是文件夹中会有十个ibd文件,一个frm文件(结构文件)和一个par文件(分区结构文件) 分区成功后:客户端和以前没有任何区别