Mysql 性能简单测试

用了几年的mysql,对其性能了解部分,如加索引不加索引查询、全置匹配与前置后置匹配区别,但都没有自己去测试过,今天有时间就满足一下自己的好奇心!!!

首先附上本人电脑的一些配置,硬件也是影响性能的一部分

电脑配置:

首先我准备了1000000条数据(批量插入大概花了7分钟,有空研究一下如何提升批量操作效率),两百万会报JVM内存溢出(全表查询集合报Cause: java.lang.OutOfMemoryError: GC overhead limit exceeded,有空可以去把JVM内存设大点)

代码段

		long currTime = System.currentTimeMillis();
		Flow flow = new Flow();
		flow.setUserName("998000姓名");
//		flow.setId(999018);
		List<Flow> list = flowService.list(null);
		System.out.println("list结果集:----》" + list.size());
		System.out.println("执行时间:----》" + (System.currentTimeMillis() - currTime));
  1. 全表无索引无条件查,执行时间为:23932毫秒
  2. 全表有索引无条件查询(代码同上),执行时间为:23046毫秒
  3. 根据主键ID查询,执行时间为:1140毫秒
  4. 无索引字符串使用 like 前后置匹配,执行时间为:3229毫秒
  5. 有索引字符串使用 like 前后置匹配,执行时间为:3066毫秒(索引没生效)
  6. 无索引字符串使用 like 前置匹配,执行时间为:2624毫秒
  7. 有索引字符串使用 like 前置匹配,执行时间为:2564毫秒(索引没生效)
  8. 无索引字符串使用 like 后置匹配,执行时间为:2687毫秒
  9. 有索引字符串使用 like 后置匹配,执行时间为:1598毫秒
  10. 无索引字符串使用 等于匹配,执行时间为:2285毫秒
  11. 有索引字符串使用 等于匹配,执行时间为:768毫秒

得出结论(这里建立的是普通索引)

使用like,索引前置匹配失效,后置匹配生效。

有索引的情况下使用等于比like执行效率要高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值