一、查看当前MySQL是否支持分区技术
二、使用HASH实现一个简单测试案例
1、建立一个分区表
2、查看数据库文件初始状态
3、写一个存储过程生成100万条记录
4、查看存储后的数据文件,可以看到数据均匀分布
三、实现RANGE分区,并和普通表实现对比
1、创建普通表no_part_tab
2、创建分区表part_tab
3、写一个存储过程,给part_tab写入800万条记录
4、同样数据写入no_part_tab
5、对比一下数据文件
6、测试SQL性能
可以看到查询时间上的差异
7、创建索引后的对比
可以看出添加索引后,查询时间基本一致。
8、查询字段有未添加索引的字段对比
可以看到时间上又出现了差异
四、关于innodb表的分区注意事项
1、共享表空间:
某一个数据库的所有表数据,索引文件全部放在一个文件中,默认的存放路径是在data目录下。默认的文件名为ibdata1。
2、独占表空间
每个表都会生成独立的的文件来进行存储,每个表都有一个frm表描述文件,还有一个ibd文件。
3、在共享模式下的存储文件
存储文件只有2个,其他数据在ibdata1中
4、修改独立存储模式,修改mysql的my.conf
1
|
innodb_file_per_table = 1
|
5、看修改后的存储文件
6、实现innodb分区
本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1305937,如需转载请自行联系原作者