mysql索引_效率测试(包含测试sql脚本300万条数据),可用作教学案例。

2022-11-29 17:51:01 浏览数 (1)

目录

建表

无索引测试:

建表

建表与插入数据sql,运行时间越2分钟

代码语言:javascript复制
#1. 准备表
create table test_table(
id int,
name varchar(20),
sex int(2),
introduce varchar(50)
);
 
#2. 创建存储过程,实现批量插入记录
delimiter $$ #声明存储过程的结束符号为$$
create procedure auto_insert1()
BEGIN
    declare i int default 1;
    while(i<3000000)do
        insert into test_table values(i,concat('shuai',i),1,concat('mei',i,'mei'));
        set i=i 1;
    end while;
END$$ #$$结束
delimiter ; #重新声明分号为结束符号
 
#3. 查看存储过程
show create procedure auto_insert1;
 
#4. 调用存储过程
call auto_insert1();

建表效果:

 插入【2999999】,300万次,够测试用了。

无索引测试:

代码语言:javascript复制
select * from test_table where name='shuai9527';

 添加【name】字段的【普通索引NORMAL的BTREE方法】

代码语言:javascript复制
ALTER TABLE `my_test`.`test_table` ADD INDEX `index_name`(`name`) USING BTREE;

查询效果:仅用0.004秒,效果可见。

 希望能对大家优化查询的时候有所帮助。

0 人点赞