四时宝库

程序员的知识宝库

MySQL系列(11)— 索引(mysql索引经典问题)

MySQL 索引

索引 就是为了提高数据查询的效率,就像书的目录一样,我们可以借助目录快速找到某个知识点所在的页。同样,对于数据库的表而言,索引其实就是表数据的“目录”。

千万级MySQL数据库这样建索引可以让你的数据库飞起来......

创建索引常用规则

1、表的主键、外键必须有索引;

2、数据量超过300的表应该有索引;

3、经常与其他表进行连接的表,在连接字段上应该建立索引;

4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;

5、索引应该建在选择性高的字段上;

mysql前缀索引的用法(mysql 后缀索引)

MySQL的B-Tree索引在建立索引时,是对整个字段的值进行索引的。但有时候,字段的值可能会非常长,例如一段文字、一个网页的URL等。在这种情况下,如果对整个字段进行索引,不仅会消耗较大的存储空间,而且在进行搜索比较时也会比较耗费时间。因此,MySQL提供了只对字段的前N个字符进行索引的功能,这被称为前缀索引。

最详细的 MySQL 执行计划和索引优化!

不管是工作中,还是面试中,关于mysql的explain执行计划以及索引优化,都是非常值得关注的。

MySQL字符串加索引(mysql字符串索引原理)

我们在创建MySQL的字符串索引时,用的最多的就是对所有字符创建索引。但是往往我们忽略的是,字符串可以创建左前缀的索引,这样更短的字符索引可以减少索引的维护成本,下面详细介绍一下。

Demo

比如我们通过邮箱去检索用户的信息,就可能会执行如下的SQL 查询。

再有人问你为什么MySQL用B+树做索引,就把这篇文章发给她

索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。

索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在[1,2,3,4]中找到4这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在mysql数据库中分三类:

MySql 索引及优化(mysql8.0索引)

1、Mysql的执行计划

1.1、为什么需要执行计划?

一条简单的更新语句,MySQL是如何加锁的?


看如下一条sql语句:

# table T (id int, name varchar(20))

delete from T where id = 10;

MySQL在执行的过程中,是如何加锁呢?

数据库自学捷径-第七课 MySQL进阶-怎么提高搜索速度?索引

假如你去图书馆,借MySQL数据库方面的书籍,你要先找到计算机分类的房间,再找到数据库技术与应用的书柜,最后找到MySQL数据库等方面的书籍,其实这就是人工索引,即使你能从图书馆电脑软件里面搜索到你要的书籍,实际拿到手也得通过分类索引找到该书。

全网最硬核操作:10亿数据如何最快插入MySQL?

这是笔者曾经的面试题,这个问题并不是要你回答准确的时间,而是考察如何设计一个系统,最快速地插入10亿条数据。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接