MySQL进阶篇--索引

2022/1/17 19:03:50

本文主要是介绍MySQL进阶篇--索引,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 概念

索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。

索引类似一本书的目录,比如要查找’student’这个单词,可以先找到s开头的页然后向后查找,这个就类似索引。

2. 索引分类

①按实现方式分类:Hash索引和B+tree索引

Hash索引:

 

B+tree索引:

②按功能分类:

 

单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引;
普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。

普通索引创建

 1 -- 方式1-创建表的时候直接指定
 2 create  table student(
 3     sid int primary key,
 4     card_id varchar(20),
 5     name varchar(20),
 6     gender varchar(20),
 7     age int,
 8     birth date, 
 9     phone_num varchar(20),
10     score double,
11     index index_name(name) -- 给name列创建索引
12 );
13 
14 -- 方式2-直接创建
15 -- create index indexname on tablename(columnname); 
16 create index index_gender on student(gender); 
17 
18 -- 方式3-修改表结构(添加索引)
19 -- alter table tablename add index indexname(columnname)
20 alter table student add index index_age(age);

 



这篇关于MySQL进阶篇--索引的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程