欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

入门MySQL索引:初次相遇索引

最编程 2024-01-20 18:21:18
...

前面说了索引可以显著提高查询性能,有无索引差别到底有多大?可以用一个例子来查看有无索引的区别。首先需要在MySQL中生成一个海量数据表,如下:

-- 创建海量表
CREATE TABLE massive_table (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    description TEXT
);

-- 设置变量
SET @row := 0;

-- 插入大量数据
INSERT INTO massive_table (id, name, description)
SELECT
    @row := @row + 1 AS id,
    CONCAT('Name', @row),
    CONCAT('Description for ', @row)
FROM
    information_schema.columns t1
    JOIN information_schema.columns t2
    JOIN information_schema.columns t3
LIMIT 8000000;

这个例子中,通过使用information_schema.columns表来连接,生成了足够多的行,并插入到massive_table表中。

在这里插入图片描述

在这里插入图片描述

查看前五个数据。

在这里插入图片描述
由此,可以进行查找测试,对于没有索引的字段进行查找,如下:
在这里插入图片描述
从结果可以看出,没有索引时我们进行查找是非常慢的,那么有索引的话,又会是什么结果呢?如下:

在这里插入图片描述

  • 在MySQL中,主键字段默认会自动带有索引。主键是用于唯一标识表中每一行的字段,而索引则用于加速对表的检索。因此,MySQL会自动在主键字段上创建一个称为主键索引的索引。
  • 当你在创建表时指定某个列为主键时,MySQL会自动为该列创建一个主键索引。主键索引确保表中的每个主键值都是唯一的,并且这样的索引能够提高对主键的检索速度。

由此可见,索引对于查询的提升不是一点半点的,所以正确合理的利用索引对于管理数据库是非常重要的。

推荐阅读