四时宝库

程序员的知识宝库

Mysql(三)索引

一、索引数据结构

1. B+Tree(默认结构)

  • 特点:非叶子节点仅存储索引,叶子节点包含完整数据并通过双向指针连接,支持高效范围查询和排序。
  • 优势

技术栈:MySQL多表关联的几种方式以及常见优化方法

MySQL中WHERE和GROUP BY如何一起用上索引?很多都漏了一点!

日常写 SQL,大家都会使用 WHERE 和 GROUP BY,但真正理解它们如何一起使用索引,并不是每个人都能答得清楚。

多数教程讲的只是“最左前缀原则”,却没讲清楚字段不连续的情况会怎样影响索引命中

今天我们就系统聊一聊,并揭开这个大家经常忽略的性能陷阱


MySQL中join连接索引优化实战分析

两张表左连接索引优化


#第一种情况,不加索引
mysql>explain select * from news a left join new_type b on a.type_id=b.TypeId;

结果:我们看到两张表都是全表扫描,type类型全是ALL,此时性能最差

Mysql 索引精讲(mysql8.0索引)


开门见山,直接上图,下面的思维导图即是现在要讲的内容,可以先有个印象~

常见索引类型(实现层面)

MySQL 索引(基础)(mysql索引教程)

一、介绍

  1.什么是索引?

MySQL 索引(单列索引, 组合索引, 全文索引)及索引失效

索引是可以高效的获取数据的数据结构, 对查询有很大作用. 索引对于数据库, 就像偏旁部首, 或者26个英文字母对于字典一样, 能很快的提高查询速度.


但是索引也有它的缺点:

  • 首先就是占用磁盘空间
  • 其次是虽然提高了查询效率, 但是会降低表的更新效率, 因为进行增删改的时候都需要更新索引文件.

MySQL的索引分为以下几种:

  • 单列索引, 单列索引包括普通索引

三道MySQL联合索引面试题,淘汰80%的面试者,你能答对几道

众所周知MySQL联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循

创建联合索引的时候,建议优先把区分度高的字段放在第一列。

至于怎么统计区分度,可以按照下面这种方式。

创建一张测试表,用来测试:

联合索引查询原理及生效规则(联合索引范围查询失效)

一般都是设计联合索引,很少用单个字段做索引,因为还是要尽可能让索引数量少,避免磁盘占用太多,影响增删改性能。

有个表存储学生成绩,id是自增主键,包含学生班级、学生姓名、科目名称、成绩分数四个字段,平时查询,可能比较多的就是查找某个班的某个学生的某个科目的成绩。

什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推

聚集索引

我们先建如下的一张表

<< < 1 2 3 4 5 6 7 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接