千家信息网

快速入门MySQL数据库索引的基础知识

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本文主要给大家介绍快速入门MySQL数据库索引的基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下快速入门MySQL数据库索引的基础知识吧
千家信息网最后更新 2025年02月01日快速入门MySQL数据库索引的基础知识

本文主要给大家介绍快速入门MySQL数据库索引的基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下快速入门MySQL数据库索引的基础知识吧。

------------------------索引的概念----------------------------

⑴数据库中的索引与书籍中的目录类似
在一本书,无须阅读整本书,利用目录就可以快速查找所需信息
书中的目录是一个词语列表,其中著名了包含个此的页码
⑵数据库索引
在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据
数据库中的索引是某一个表中一列或者若干列值的集合,以及物理标识这些值的数据页的逻辑指针清单

优点:加快查询速度、检索速度,可以准确的定位,不需要全篇去找


-------------------------索引的作用------------------------


⑴设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大加快查询速率
⑵特别是当表很大时,或者查询设计到多表时,使用索引可使查询加快千倍
⑶可以降低数据库的IO(输入输出)成本,并且索引还可以降低数据库的排序成本
(读的时候会消耗内存)
⑷通过创建唯一性索引保证数据表数据的唯一性
⑸可以加快表与表之间的连接(可以把相关的字段当做一个索引)
⑹在使用分组的排序时,可大大减少分组和排序时间


----------------------索引的分类--------------------------

⑴普通索引
这是最基本的索引类型,而且它没有唯一性之类的限制

⑵唯一性索引
这种索引和前面"普通索引"基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一

⑶主键
这是一种唯一性索引,但它必须指定为"PRIMARY KEY"

⑷全文索引
MySQL3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT,全文索引可以再VARCHAR或者TEXT类型的列上创建


------------------创建索引的原则依据-----------------

⑴表的主键、外键必须有索引

⑵数据量超过300行的表应该有索引

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

⑷唯一性太差的字段不适合建立索引(重复性大,大众化,重复很多)

⑸更新太频繁地字段不适合创建索引

⑹经常出现在where子句中的字段,特别是大表的字段,应该建立索引

⑺索引应该建在选择性高的字段上

⑻索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引


-----------------创建索引的方法--------------------


根据企业需求选择了合适的索引之后,可使用CREATE INDEX创建索引

CREATE INDEX加上各个索引关键字便可创建各个类型的索引


PS:首先需要进入数据库


⑴创建普通索引

语法结构:create index (索引的名字)on tablename (列的列表)


举例:

mysql> create index salary_index on IT_salary(薪资); #创建IT_salary 的索引(默认普通索引),索引名称为salary_index

mysql> show index from IT_salary; #从IT_index数据表中,查看索引


⑵创建唯一性索引

语法结构:create unique index (索引名字)on tablename (表的名字)

举例:

mysql> create unique index salary_unique on IT_salary(姓名); #创建IT_salary 的唯一索引,索引名称为salary_unique

mysql> show index from IT_salary; #从IT_index数据表中,查看索引


⑶创建主键索引,有两种方式,一种实在创建表的同时创建主键,主键索引自动创建,

命令格式:

create table tablename([…],primary ke(表的名字)); #创建表的时候,添加了主键,也就是自动创建了

alter table tablename add primary key(列的列表); #创建之后忘记添加主键,用此种方法


附加:

更改表结构

添加表 主键,命令格式:alter table <表名> add primary key(id);


1.增加一个列:

alter table info add column age int;

#更改表 info 增加 列 年龄 类型;


2.删除一个列:

alter table info drop column age;

#更改表 info 删除 列 年龄;


主键索引例子

mysql> alter table IT_salary add primary key(员工ID);


⑷索引查看

show index from tablename;

show keys from tablename;


查看索引例子

mysql> show index from IT_salary;

mysql> show keys from IT_salary;

看完以上关于快速入门MySQL数据库索引的基础知识,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

索引 数据 数据库 字段 唯一性 全文 类型 知识 普通 名字 查询 基础 基础知识 数据表 目录 结构 排序 合适 例子 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发用分层技术吗 微信小程序上传数据并更新数据库 软件开发属于哪种应税行为 木虫连接服务器失败 软件开发和测试工资差多少 怎么查网站服务器配置 网络安全的认证是什么意思 哈利波特同一个服务器怎么建小号 惠普g8服务器 网络安全知识竞题 11g数据库导入10g 网上销售管理系统数据库 华为网络技术工程师好进么 rac查询数据库目录 构建标准化专科专病数据库 电信网络安全和存在的问题 为什么网络安全考试一考就过 温州敏捷软件开发 数据库设计教室表 概括工业网络技术的应用 江苏大修管理软件开发公司 湖南悦美软件开发 采矿体验服务器 软件开发技能认证 电源技术期刊被哪个数据库收录 江苏服务器厂家直供云服务器 服务器管理口与普通接口区别 亚运会网络安全卫士有什么用 网络安全抓包实验论文 政务服务大数据库系统
0