加入收藏 | 设为首页 | 会员中心 | 我要投稿 徐州站长网 (https://www.0516zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql索引的定义

发布时间:2022-10-26 15:31:38 所属栏目:MySql教程 来源:互联网
导读: 什么叫做索引?
索引,就是用于加快查找数据的速度的一种内部机制。
在我们的建表代码中,其实非常简单:
索引类别(要建索引的字段名1,字段名2,.....);
索引的好处和坏处:
1,好处,只有

什么叫做索引?

索引,就是用于加快查找数据的速度的一种内部机制。

在我们的建表代码中,其实非常简单:

索引类别(要建索引的字段名1,字段名2,.....);

索引的好处和坏处:

1,好处,只有一个:极大加快查找数据的速度;

2,坏处:降低增删改的速度。

Mysql索引的定义

索引分类

有如下一些索引(索引类别):

普通索引:

key(字段名...)

主键索引:

primary key(字段名...)

其实,我们设定一个主键的时候,也就自动设定了索引!

唯一索引:

unique key(字段名...)

其实,我们设定一个唯一键的时候,也就自动设定了索引!

全文索引: fulltext (字段名...)

目前:mysql对中文的全文索引支持度不够mysql索引表,没有实用性,以后再学其他解决办法。

外键索引:

foreign key (字段名...) references 其他表名(对应其他表中的字段名)

Mysql索引的定义

外键索引

外键:

就是关系数据库中的表和表之间的联系的一种机制。

在2个表中,则学生信息表中的“班级号”这个字段,相对于“班级表”来说,就是外键:

它的作用就是来保证:一个学生的班级号,必须来源于另一个表(班级表)中的“班级主键”字段。

则建表时大约如下:

create table 班级表(

班级主键 int auto_increment ,

班号 varchar(10),

开班时间 datetime,

primary key (班级主键)

)

create table 学生主信息表(

学生主键 int auto_increment ,

学号 varchar(20),

姓名 varchar(10),

班级号 int,

primary key (学生主键)

foreign key( 班级号) references 班级表(班级主键)

)

Mysql索引的定义

演示百万数据的有索引和无索引的差别:

导入数据:

source “备份的数据文件”;

创建一个跟现有表完全一样的表:

create table ipos2 like ipos_spkcb;

并将这个表中的sp_id这个索引删除:

alter table ipos2 drop index sp_id

插入一个查询结果数据:

insert into ipos2 select * from ipos_spkcb;

测试:

Mysql索引的定义

Mysql索引的定义

(编辑:徐州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!