博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[MySQL光速入门]027 索引
阅读量:5872 次
发布时间:2019-06-19

本文共 1425 字,大约阅读时间需要 4 分钟。

什么是索引

相当于书籍的目录, 加快查询速度

是不是索引越多越好?

索引会加快查询速度, 但是会拖慢写入速度, 因为每写入一条数据, 都需要重建索引

索引什么时候有用

条件越明确, 索引越有用

通俗点说, 经常where哪个字段, 就给哪个字段加索引

试验一下

我们为了看出速度上的差别, 我们需要3,000,000行数据... 使用存储过程进行插入

drop table if exists test;create table test(    id int,    name varchar(20),    sex char(1) default '男',    age int not null);drop procedure if exists batch_insert;create procedure batch_insert() begin     declare i int default 0;    declare sex_str char(1) default '';    declare age_int int default 0;    declare name_str varchar(20) default '';    while i< 3000000 do        set i = i + 1;        set name_str = CONCAT('张三_',i);        if age_int > 110 then             set age_int = 1;        end if;        set age_int = age_int + 1;        if i%3 = 0 then             set sex_str = '女';        else             set sex_str = '男';        end if;        insert into test(id,sex,age,name) values(i,sex_str,age_int,name_str);        if i % 100000 = 0 then             select CONCAT('当前是第',i,'行...');        end if;    end while;end;call batch_insert();复制代码

耗时比较

mysql支持多种索引

创建索引

建表时创建

drop table if exists test2;create table test2(		id int not null,	name varchar(20) not null,	sex tinyint(1) not null,	age tinyint(1) not null,	index(id),	index(name),	index(sex),	index(age));desc test2;复制代码

建表后创建

create index 索引名称 on 表名(字段名)复制代码

查看索引

show index from 表名;复制代码

删除索引

drop index 索引名称 on 表名;复制代码

快速跳转

转载于:https://juejin.im/post/5cb80f8b518825327e23ed51

你可能感兴趣的文章
html的table列表根据奇数还是偶数行显示不同颜色
查看>>
跨站请求伪造
查看>>
【MySQL】资源列表
查看>>
scp
查看>>
frameset iframe用来分页
查看>>
CN域名海外注册商体系(1)媒体陌生问题
查看>>
CGLIB实现动态代理
查看>>
Android渲染器Shader:LinearGradient(一)
查看>>
如何在C#中使用存储过程(SQL Server 2000)
查看>>
redis.con详解
查看>>
【转】Linux下查看系统配置
查看>>
impdp导入job
查看>>
python 爬虫 常见安全措施
查看>>
python基础 - 变量与运算符
查看>>
指针和const笔记
查看>>
mac下设置eclipse自动提示
查看>>
cocos creator 重写源码按钮Button点击音频封装
查看>>
葡萄城报表-导出输出
查看>>
学习进度表02
查看>>
初识Linux的感受与对它的印象——20155328张钰清
查看>>