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

举报
红目香薰 发表于 2022/01/24 13:54:39 2022/01/24
【摘要】 ​目录建表无索引测试:建表建表与插入数据sql,运行时间越2分钟#1. 准备表create table test_table(id int,name varchar(20),sex int(2),introduce varchar(50)); #2. 创建存储过程,实现批量插入记录delimiter $$ #声明存储过程的结束符号为$$create procedure auto_insert...

目录

建表

无索引测试:


建表

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

#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万次,够测试用了。

无索引测试:

select * from test_table where name='shuai9527';

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


ALTER TABLE `my_test`.`test_table` ADD INDEX `index_name`(`name`) USING BTREE;

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。