MySQL 索引

MySQL 索引

一、介绍

索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。

索引类似一本书的目录,比如要查找’student’这个单词,可以先找到s开头的页然后向后查找,这个就类似索引。

二、索引的分类

索引是存储引擎用来快速查找记录的一种数据结构

  1. 按照实现的方式分类,主要有Hash索引B+Tree索引

  2. 按照功能划分,索引划为以下分类:

三、单列索引、组合索引

1、创建索引

  1. 创建表时直接指定

    CREATE TABLE student(
      sid int primary key,	-- 主键是具有唯一性并且不允许为NULL,所以他是一种特殊的唯一索引
      card_id varchar(20),
      name varchar(20),
      gender varchar(20),
      age int,
      birth date,
      phone_num varchar(20),
      score double,
      index index_name(name),		-- 给name列创建普通索引
      unique index_card_id(card_id) -- 给card_id列创建唯一索引
    ) 
    
  2. 直接创建

    create index index_gender on student(gender);		-- 普通索引
    create unique index index_card_id on student(card_id); -- 唯一索引
    
    create index index_phone_name on student(phone_num, name);	-- 组合普通索引
    create unique index index_phone_name on student(phone_num, name); -- 组合唯一索引
    
  3. 修改表结构(添加索引)

    alter table student add index index_age(age
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值