Navicat设置MySQL索引+MySQL索引知识

引用:

https://www.cnblogs.com/bypp/p/7755307.html

https://blog.csdn.net/resilient/article/details/82829820

查看当前MySQL存储引擎:

mysql> show engines;

教程:https://www.cnblogs.com/zhming26/p/6322353.html

 

#0 Navicat操作位置:

#1 索引种类:

1. Fulltext 全文本搜索索引:用于搜索长篇文章。

2. Unique 唯一索引:  

  主键索引:primary key :加速查找+约束(不为空且唯一)
  唯一索引:unique:加速查找+约束 (唯一)

3. 联合索引:

    -primary key(id,name):联合主键索引
    -unique(id,name):联合唯一索引
    -index(id,name):联合普通索引

4. Normal 普通索引:加快搜索。

5. Spatial 空间索引。

#2 索引功能

1. 加快搜索;

2. mysql中的primary key,unique,联合唯一也都是索引,这些索引除了加速查找以外,还有约束的功能

#3 索引的两大类型hash与btree

#我们可以在创建上述索引的时候,为其指定索引类型,分两类
hash类型的索引:查询单条快,范围查询慢
btree类型的索引:b+树,层数越多,数据量指数级增长(我们就用它,因为innodb默认支持它)

#不同的存储引擎支持的索引类型也不一样
InnoDB 支持事务,支持行级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
MyISAM 不支持事务,支持表级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
Memory 不支持事务,支持表级别锁定,支持 B-tree、Hash 等索引,不支持 Full-text 索引;
NDB 支持事务,支持行级别锁定,支持 Hash 索引,不支持 B-tree、Full-text 等索引;
Archive 不支持事务,支持表级别锁定,不支持 B-tree、Hash、Full-text 等索引;

1)索引方法 btree  可以用于“ >、 <  、=”查询 ,如果查id=1000的数据 建立索引后 二分查找最多13次就可以查出相应的数据;

2)hash 不能做order by排序 不能做 用like模糊查询。

#4 慢查询优化的基本步骤

0.先运行看看是否真的很慢,注意设置SQL_NO_CACHE
1.where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高
2.explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)
3.order by limit 形式的sql语句让排序的表优先查
4.了解业务方使用场景
5.加索引时参照建索引的几大原则
6.观察结果,不符合预期继续从0分析

-

  • 15
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Navicat是一款常用的MySQL数据库管理工具,它可以方便地创建和管理MySQL索引。在MySQL中,索引是一种可以提高数据库查询效率的对象,它类似于书籍的目录,可以快速地找到需要的数据。在Navicat中,可以使用图形化界面来创建和管理MySQL索引。 组合索引MySQL中常用的一种索引类型,它可以同时包含多个字段,并且可以提高查询效率。在Navicat中,创建组合索引也非常简单,只需要在创建索引时选择需要包含的字段即可。 下面是创建组合索引的步骤: 1. 在Navicat中选择需要创建索引的表,右键点击该表,选择“设计表”。 2. 在“设计表”界面中,选择需要创建索引的字段,并且将这些字段拖动到“索引”区域。 3. 在“索引”区域中,选择“组合索引”,并且设置需要包含的字段。组合索引可以包含多个字段,可以根据查询需求来设置。 4. 点击“确定”按钮,Navicat会自动创建组合索引。 在创建组合索引时,需要注意以下几点: 1. 组合索引的顺序非常重要,可以根据查询需求来设置。如果查询条件中的字段包含组合索引的前缀字段,则组合索引会起到作用。 2. 组合索引的字段越多,索引的效率就越高,但是索引的维护成本也越高。因此,在设置组合索引时需要权衡查询效率和维护成本。 3. 组合索引可以提高查询效率,但是在插入、更新和删除数据时会降低效率。因此,在设置组合索引时需要综合考虑查询和写入的需求。 总之,在Navicat中创建和管理MySQL索引非常简单,只需要使用图形化界面即可。同时,需要根据实际需求来设置索引,以提高查询效率和降低维护成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值