登录
首页 >  数据库 >  MySQL

30.关于MySQL索引的定义及理解

来源:SegmentFault

时间:2023-01-13 08:04:57 277浏览 收藏

怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《30.关于MySQL索引的定义及理解》,涉及到MySQL、PHP,有需要的可以收藏一下

1、定义
索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能
非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。
索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。
索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页去查。
可想而知!!非常重要的概念!!!2、MySQL的索引分类

qrcode_for_gh_cfaee56a6152_344.jpg

索引分类
1.普通索引index :加速查找
2.唯一索引
主键索引:primary key :加速查找+约束(不为空且唯一)
唯一索引:unique:加速查找+约束 (唯一)
3.联合索引
\-primary key(id,name):联合主键索引
\-unique(id,name):联合唯一索引
\-index(id,name):联合普通索引
4.全文索引fulltext :用于搜索很长一篇文章的时候,效果最好。
5.空间索引spatial :了解就好,几乎不用 3、创建
qrcode_for_gh_cfaee56a6152_344.jpg

`善用帮助文档`
`help create`
`help create index`
`==================`
`1.创建索引`
 `-在创建表时就创建(需要注意的几点)`
 `create table s1(`
 `id int ,#可以在这加primary key`
 `#id int index #不可以这样加索引,因为index只是索引,没有约束一说,`
 `#不能像主键,还有唯一约束一样,在定义字段的时候加索引`
 `name char(20),`
 `age int,`
 `email varchar(30)`
 `#primary key(id) #也可以在这加`
 `index(id) #可以这样加`
 `);`
 `-在创建表后在创建`
 `create index name on s1(name); #添加普通索引`
 `create unique age on s1(age);添加唯一索引`
 `alter table s1 add primary key(id); #添加住建索引,也就是给id字段增加一个主键约束`
 `create index name on s1(id,name); #添加普通联合索引`
`2.删除索引`
 `drop index id on s1;`
 `drop index name on s1; #删除普通索引`
 `drop index age on s1; #删除唯一索引,就和普通索引一样,不用在index前加unique来删,直接就可以删了`
 `alter table s1 drop primary key; #删除主键(因为它添加的时候是按照alter来增加的,那么我们也用alter来删)`

来自 博客园 bypp/p/7755307.html

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《30.关于MySQL索引的定义及理解》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>