mysql navicat 索引_mysql更新(八) 可视化工具Navicat的使用 索引

本文详细介绍了MySQL中的索引概念、作用及常见类型,包括普通索引、唯一索引、主键索引和联合索引等。通过Navicat可视化工具演示了创建和删除索引的操作,并探讨了正确使用索引的方法,如避免全表扫描、使用覆盖索引等。此外,还提到了执行计划的分析以及慢查询日志的开启和配置,以优化数据库性能。
摘要由CSDN通过智能技术生成

一、索引的介绍

数据库中专门用于帮助用户快速查找数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置吗,然后直接获取。

二 、索引的作用

约束和加速查找

三、常见的几种索引:

fz.gif

- 普通索引

- 唯一索引

- 主键索引

- 联合索引(多列)

- 联合主键索引

- 联合唯一索引

- 联合普通索引

fz.gif

jia.gif

jian.gif

fz.gif

无索引: 从前往后一条一条查询

有索引:创建索引的本质,就是创建额外的文件(某种格式存储,查询的时候,先去格外的文件找,定好位置,然后再去原始表中直接查询。但是创建索引越多,会对硬盘也是有损耗。

建立索引的目的:

a.额外的文件保存特殊的数据结构

b.查询快,但是插入更新删除依然慢

c.创建索引之后,必须命中索引才能有效

fz.gif

无索引和有索引的区别以及建立索引的目的

jia.gif

jian.gif

hash索引和BTree索引

(1)hash类型的索引:查询单条快,范围查询慢

(2)btree类型的索引:b+树,层数越多,数据量指数级增长(我们就用它,因为innodb默认支持它)

索引的种类

3.1 普通索引

作用:仅有一个加速查找

jia.gif

jian.gif

fz.gif

create table userinfo(

nid int not null auto_increment primary key,

name varchar(32) not null,

email varchar(64) not null,

index ix_name(name)

);

fz.gif

创建表+普通索引

jia.gif

jian.gif

create index 索引的名字 on 表名(列名)

普通索引

jia.gif

jian.gif

drop index 索引的名字 on 表名

删除索引

jia.gif

jian.gif

show index from 表名

查看索引

3.2 唯一索引

唯一索引有两个功能:加速查找和唯一约束(可含null)

jia.gif

jian.gif

fz.gif

create table userinfo(

id int not null auto_increment primary key,

name varchar(32) not null,

email varchar(64) not null,

unique index ix_name(name)

);

fz.gif

创建表+唯一索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值