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

Mysql索引的定义

发布时间:2022-10-29 16:12:38 所属栏目:MySql教程 来源:
导读:  什么叫做索引?

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

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

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

  索引的好处和坏处:
  什么叫做索引?
 
  索引,就是用于加快查找数据的速度的一种内部机制。
 
  在我们的建表代码中,其实非常简单:
 
  索引类别(要建索引的字段名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;
 

(编辑:海洋资讯信息网)

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