mysql性能简单测试

测试环境:
环境1:
操作系统: Ubuntu 15.10 (GNU/Linux 4.2.0-16-generic x86_64)
硬盘: 20G
内存: 1G
cpu:单核
mysql版本:5.6.30-0ubuntu0.15.10.1
环境2:
操作系统: win7
硬盘: 1T
内存: 16G
cpu:4核 i5
mysql版本: 14.14 Distrib 5.5.28, for Win64 (x86)

测试数据:gps定位数据
查询类型: 单表查询
group对应的字段已添加索引
select gps_no,count(gps_no) from car_gps_info_h_10XXXwan group by gps_no;

环境1 结果:
 表引擎是否分区是否分表创建所需时间修改表引擎为myisam所需时间按id range分区(30万)所需时间mere 创建所需时间count(1)min/maxcount 并且 group
10万数据表innodb未分区未分表1.767s   0.794s0.747s0.761s
100万数据innodb未分区未分表17.372 s   3.279s3.222s3.736s
1000万数据innodb未分区未分表169s (差不多3分钟)   27.655s28.295s33.700s
10万数据表myisam未分区未分表 0.305s  0.001s0.265s0.294s
100万数据myisam未分区未分表 3.727s  0.001s2.280s2.985s
1000万数据myisam未分区未分表 46.552s  0.001s18.747s22.562s
100万数据myisam分区未分表  1.943s 0.002s1.034s1.146s
1000万数据myisam分区未分表  41.203s 0.001s19.903s23.848s
1000万数据myisam未分区分表    0.001s19.903s23.848s

环境2 结果:
 表引擎是否分区是否分表创建所需时间修改表引擎为myisam所需时间按id range分区(30万)所需时间mere 创建所需时间count(1)min/maxcount 并且 group
10万数据表innodb未分区未分表未测试   0.209s0.199s0.247s
100万数据innodb未分区未分表未测试   1.705s1.612s1.712s
1000万数据innodb未分区未分表未测试   14.844s14.442s18.369s
10万数据表myisam未分区未分表 未测试  0.001s0.070s0.130s
100万数据myisam未分区未分表 未测试  0.001s0.434s1.238s
1000万数据myisam未分区未分表 未测试  0.001s3.957s11.451s
100万数据myisam分区未分表  1.646s 0.001s0.429s1.189s
1000万数据myisam分区未分表  14.770s 0.001s4.036s11.528s
1000万数据myisam未分区分表0.038s  0.038s0.002s4.011s11.503s

总结:
1.好的硬件设备对性能提高显著
2.分区在硬件支持的情况下才能生效
3.myisam查询比innodb快
4.分区比不分区速度快
5.分表和分区在测试环境下表现基本差不多。
6.mysql 5.5.28不支持磁盘分区选项(DIRECTORY)


执行命令记录
/** 创建表 */
create table car_gps_info_h_10wan as select * from car_gps_info_h_bak limit 0,100000;

create table car_gps_info_h_10wan_myisam as select * from car_gps_info_h_bak limit 0,100000;

create table car_gps_info_h_1000wan as select * from car_gps_info_h_bak limit 0,10000000;

create table car_gps_info_h_100wan_myisam as select * from car_gps_info_h_bak limit 0,1000000;

create table car_gps_info_h_1000wan as select * from car_gps_info_h_1000wan;

create table car_gps_info_h_1000wan_myisam as select * from car_gps_info_h_1000wan;

/*修改表引擎*/
alter table car_gps_info_h_10wan_myisam engine ='myisam';

alter table car_gps_info_h_100wan_myisam engine ='myisam';

alter table car_gps_info_h_1000wan_myisam engine ='myisam';

/*查询汇总*/
-----------------
select max(time) from car_gps_info_h_10wan;

select max(time) from car_gps_info_h_100wan;

select max(time) from car_gps_info_h_1000wan;

select max(time) from car_gps_info_h_10wan_myisam;

select max(time) from car_gps_info_h_100wan_myisam;

select max(time) from car_gps_info_h_1000wan_myisam;

-------------------------
select count(1) from car_gps_info_h_10wan;

select count(1) from car_gps_info_h_100wan;

select count(1) from car_gps_info_h_1000wan;

select count(1) from car_gps_info_h_10wan_myisam;

select count(1) from car_gps_info_h_100wan_myisam;

select count(1) from car_gps_info_h_1000wan_myisam;

------------------------------

select gps_no,count(gps_no) from car_gps_info_h_10wan group by gps_no;

select gps_no,count(gps_no) from car_gps_info_h_100wan group by gps_no;

select gps_no,count(gps_no) from car_gps_info_h_1000wan group by gps_no;

select gps_no,count(gps_no) from car_gps_info_h_10wan_myisam group by gps_no;

select gps_no,count(gps_no) from car_gps_info_h_100wan_myisam group by gps_no;

select gps_no,count(gps_no) from car_gps_info_h_1000wan_myisam group by gps_no;

/*分区脚本*/
/*30万分组 100万*/
alter table car_gps_info_h_100wan_myisam
partition by range (id)
(
partition f1 values less than(300000),
partition f2 values less than(600000),
partition f3 values less than(900000),
partition f4 values less than(1200000)
);

/*30万分组 1000万*/
alter table car_gps_info_h_1000wan_myisam
partition by range (id)
(
partition f1 values less than (300000),
partition f2 values less than (600000),
partition f3 values less than (900000),
partition f4 values less than (1200000),
partition f5 values less than (1500000),
partition f6 values less than (1800000),
partition f7 values less than (2100000),
partition f8 values less than (2400000),
partition f9 values less than (2700000),
partition f10 values less than (3000000),
partition f11 values less than (3300000),
partition f12 values less than (3600000),
partition f13 values less than (3900000),
partition f14 values less than (4200000),
partition f15 values less than (4500000),
partition f16 values less than (4800000),
partition f17 values less than (5100000),
partition f18 values less than (5400000),
partition f19 values less than (5700000),
partition f20 values less than (6000000),
partition f21 values less than (6300000),
partition f22 values less than (6600000),
partition f23 values less than (6900000),
partition f24 values less than (7200000),
partition f25 values less than (7500000),
partition f26 values less than (7800000),
partition f27 values less than (8100000),
partition f28 values less than (8400000),
partition f29 values less than (8700000),
partition f30 values less than (9000000),
partition f31 values less than (9300000),
partition f32 values less than (9600000),
partition f33 values less than (9900000),
partition f34 values less than (12000000)
);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值