测试MYSQL有无索引的查询速度

本文通过一个实例展示了在Intel i5-7500 CPU和MySQL 5.7.24环境下,创建和使用索引对于提高查询效率的巨大影响。在插入50万条数据并进行查询操作后,对比了有无索引的查询速度,结果显示无索引的查询速度比有索引慢了近十倍。因此,强调在数据量较大或频繁进行关联查询的字段上添加索引对于数据库性能至关重要。
摘要由CSDN通过智能技术生成

测试环境的电脑配置:Intel® Core™ i5-7500 CPU @ 3.40GHz 3.40 GHz,内存16G.mysql的版本为:5.7.24。

  • 准备建表语句
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=626840 DEFAULT CHARSET=utf8;
  • 准备存储语句,计划插入50万条
DELIMITER $$
CREATE PROCEDURE insert_many_i_data () BEGIN
	DECLARE
		i INT;
	
	SET i = 0;
	WHILE
			i < 500000 DO
			
			SET i = i + 1;
		INSERT INTO test ( username, `password` )
		VALUES
			( i, 1 );
		
	END WHILE;

END $$

  • 开始测试,执行存储过程
-- 执行存储过程
CALL insert_many_i_data2 ()
-- 查看总条数
SELECT count(1) FROM test
-- 通过主键查询
SELECT id FROM test WHERE id = 7821
-- 通过无索引进行查询
SELECT id FROM test WHERE username = 7821
  • 顺序截图
    总条数
    通过主键查询的时间
    无索引查询

通过结果可以看出,有无索引可以差将近十倍。所以再数据量达到千万时,或者百万数据关联查询经常使用的字段是需要加上索引的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值