Mysql数据库基本操作(十)索引

本文介绍了MySQL数据库的索引类型,包括单列索引(普通索引、唯一索引、主键索引)、组合索引、全文索引和空间索引,详细阐述了它们的创建、使用和优化。强调了索引在提高查询速度、数据唯一性等方面的作用,同时也指出了索引的维护成本和磁盘占用等问题。
摘要由CSDN通过智能技术生成

索引

一张表的索引就好像一本书的目录,书的目录就是将每一章节的标题按照树形结构组织起来,方便我们按照目录查到书的某一章节的内容;而数据表的索引就是将数据表中每个记录的某一列或者多列按照一定的方式组织起来,方便我们可以直接按照索引查到对应的记录。这里说的组织方式一般是指哈希散列存储组织或者B+树组织(一般是B+树)。一般数据表比较大的时候就需要创建索引提高查找速度。

1,单列索引

1.1 普通索引

MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。
1,创建普通索引
1)可以在创建表的时候顺便创建索引

ereatetab1e student (
sid int primary key ,
card_id varchar (20) ,
name varchar (20) ,
gender varchar (20),
age int,
birth date ,
index index_name (name) --给name列创建索引
);

该语句为name列创建索引index_name。
2)直接创建索引。

create index index_gender on student (gender) ;

3)修改表结构创建索引

alter table student add index index_age (age) ;

esp:使用索引注意
一般sql语句里的where子句或on子句会使用到索引,例如前面的3)创建了student表的age为索引,则语句select* from student age=15;会使用到该索引,该语句的查询结果会返回的相对没用索引比较快,尤其是数据量大的时候。注意这里如果只是有age列加了索引的话,用其他字段过滤查询并不能加快查找速度。

1.2 唯一索引

只有不允许重复的列才能创建唯一索引,唯一索引与前面的普通索引类似,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

--方式1-创建表的时候直接指定create table student2 (
sid int primary key ,
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值