Mysql 分区技术二实例

本文详细介绍了MySQL分区技术,包括如何使用HASH实现简单测试案例、如何实现RANGE分区并与其他普通表进行对比,以及关于innodb表分区的注意事项。通过实践操作和性能测试,展示了分区技术在数据管理方面的优势。

一、查看当前MySQL是否支持分区技术

205440790.png


二、使用HASH实现一个简单测试案例

1、建立一个分区表

210620475.png

2、查看数据库文件初始状态

210806481.png

3、写一个存储过程生成100万条记录

211714206.png

4、查看存储后的数据文件,可以看到数据均匀分布

211829778.png

三、实现RANGE分区,并和普通表实现对比

1、创建普通表no_part_tab

212918301.png


2、创建分区表part_tab

213708644.png

3、写一个存储过程,给part_tab写入800万条记录

215529124.png

4、同样数据写入no_part_tab

215824398.png

5、对比一下数据文件

220205733.png

6、测试SQL性能

220518367.png

可以看到查询时间上的差异

7、创建索引后的对比

221233856.png

可以看出添加索引后,查询时间基本一致。

8、查询字段有未添加索引的字段对比

221630181.png

可以看到时间上又出现了差异


四、关于innodb表的分区注意事项

1、共享表空间:

某一个数据库的所有表数据,索引文件全部放在一个文件中,默认的存放路径是在data目录下。默认的文件名为ibdata1。

2、独占表空间

每个表都会生成独立的的文件来进行存储,每个表都有一个frm表描述文件,还有一个ibd文件。

3、在共享模式下的存储文件

222755466.png

存储文件只有2个,其他数据在ibdata1中

222909874.png

223005574.png

4、修改独立存储模式,修改mysql的my.conf

innodb_file_per_table = 1

224109151.png

5、看修改后的存储文件

224156422.png

6、实现innodb分区

224629814.png

224659577.png


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值