索引

索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。30

10                    40

5         15            35             66

1   6     11    19      21      39     55     100

MySQL中常见索引有:普通索引

唯一索引

主键索引

组合索引

1、普通索引

普通索引仅有一个功能:加速查询

创建表 + 索引create table in1(

nid int not null auto_increment primary key,

name varchar(32) not null,

email varchar(64) not null,

extra text,

index ix_name (name)

)

创建索引create index index_name on table_name(column_name)

删除索引drop index_name on table_name;

查看索引show index from table_name;

注意:对于创建索引时如果是BLOB 和 TEXT 类型,必须指定length。create index ix_extra on in1(extra(32));

2、唯一索引

唯一索引有两个功能:加速查询 和 唯一约束(可含null)create table in1(

nid int not null auto_increment primary key,

name varchar(32) not null,

email varchar(64) not null,

extra text,

unique ix_name (name)

)

创建唯一索引create unique index 索引名 on 表名(列名)

删除唯一索引drop unique index 索引名 on 表名

3、主键索引

主键有两个功能:加速查询 和 唯一约束(不可含null)

创建表 + 创建主键create table in1(

nid int not null auto_increment primary key,

name varchar(32) not null,

email varchar(64) not null,

extra text,

index ix_name (name)

)

OR

create table in1(

nid int not null auto_increment,

name varchar(32) not null,

email varchar(64) not null,

extra text,

primary key(ni1),

index ix_name (name)

)

创建主键alter table 表名 add primary key(列名);

删除主键alter table 表名 drop primary key;

alter table 表名  modify  列名 int, drop primary key;

4、组合索引

组合索引是将n个列组合成一个索引

其应用场景为:频繁的同时使用n列来进行查询,如:where n1 = 'alex' and n2 = 666。create table in3(

nid int not null auto_increment primary key,

name varchar(32) not null,

email varchar(64) not null,

extra text

)

创建组合索引create index ix_name_email on in3(name,email);

如上创建组合索引之后,查询:name and email -- 使用索引

name -- 使用索引

email -- 不使用索引

注意:对于同时搜索n个条件时,组合索引的性能好于多个单一索引合并。

mysql email能索引吗_10、MySQL索引相关推荐

  1. java怎么判断mysql中是否存在我们查找的索引_10张图告诉你,MySQL 是如何查找数据的?...

    在我们日常生活中经常会涉及到查找某个东西的场景,就比如说在一个学校里吧,我们想找出个子"最高的10个"同学,或者想查找姓名是"张三"的同学,又或者是查找学号是& ...

  2. mysql 是如何利用索引的_10 分钟搞明白 MySQL 是如何利用索引的!

    一.前言 在MySQL中进行SQL优化的时候,经常会在一些情况下,对MySQL能否利用索引有一些迷惑. 譬如: MySQL 在遇到范围查询条件的时候就停止匹配了,那么到底是哪些范围条件? MySQL ...

  3. MySQL数据库学习【第九篇】索引原理与慢查询优化

    一.介绍 1.什么是索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语 ...

  4. mysql explain详解_数据库mysql(1)——B+TREE索引原理

    一.B+Tree索引详解 1.什么是索引? 索引:加速查询的数据结构. 2.索引常见数据结构: #1.顺序查找: 最基本的查询算法-复杂度O(n),大数据量此算法效率糟糕. #2.二叉树查找(bina ...

  5. mysql怎么查看索引情况_mysql 查看索引使用情况

    mysql 查看索引使用情况 这是以读为主的线上库 root@read 02:28:07>show status like 'Handler_read%'; +-------–+---+ | V ...

  6. mysql 索引 简书_MySQL 索引

    索引用于快速查找具有特定列值的行.如果没有索引,MySQL必须从第一行开始,然后读取整个表以查找相关行.表越大,成本越高.如果表中有相关​​列的索引,MySQL可以快速确定要在数据文件中间寻找的位置, ...

  7. mysql select不走索引_避免写出不走索引的SQL, MySQL

    在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你就"成功的避开了"MySQL的所有索引. 现 ...

  8. mysql索引优化分析_MySQL索引优化与分析(重要)

    建表SQL CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COM ...

  9. MySQL基础(二十八)索引优化与查询优化

    都有哪些维度可以进行数据库调优?简言之: 索引失效.没有充分利用到索引--索引建立 关联查询太多JOIN (设计缺陷或不得已的需求)--SQL优化 服务器调优及各个参数设置(缓冲.线程数等)---调整 ...

最新文章

  1. ASP.NET MVC Bundles 用法和说明(打包javascript和css)
  2. node 进阶 | 通过node中如何捕获异常阐述express的特点
  3. 不仅搞定“梯度消失”,还让CNN更具泛化性:港科大开源深度神经网络训练新方法
  4. PIManager V1.0 Release -[2007-06-05]
  5. 2的负x次幂图像_数学| NO.2,3 函数 T15
  6. MYSQL--浅析索引
  7. php模拟远程提交get 、post 实例函数
  8. 苹果又遭集体诉讼,网友拍手:干得漂亮......
  9. 课节3: 图游走类模型1-deepwalk与node2vec
  10. unity 3d换装之 SkinMeshRenderer
  11. java消息头_java中怎么进行头消息校验
  12. 国内免费汉语语料库-NLP
  13. 分析微信小程序生成二维码接口报错41030: invalid page hint
  14. 正向代理和反向代理的区别
  15. DEDECMS专题制作
  16. 延迟队列实现30分钟订单自动过期失效
  17. android查ip地址,安卓手机查看IP地址的两种方法,  二、进入手机状态
  18. PWorld2016大会演讲PPT+访谈视频大合集,总有一款是你在找的!
  19. 【ChatGPT 中文版插件】无需注册体验 ChatGPT 的攻略
  20. SOLIDWORKS Manage 2022 版本集成插件

热门文章

  1. I00004 贝尔三角形(解法二)
  2. matlab 构建数据集实用 api
  3. TensorFlow 实战(一)—— 交叉熵(cross entropy)的定义
  4. 【读书笔记】—— 西方人文社科经典
  5. 辨异 —— 机器学习概念辨异、模型理解
  6. 【辨异】 —— 带宽与宽带
  7. numpy tricks(一)—— 多维数组的阈值化处理
  8. Web 服务器错误代码
  9. .xsession-errors:openConnection: connect: No such file or directory cannot connect to brltty at :0
  10. 群辉服务器根目录新建文件夹,群晖 synology NAS 存储创建存储空间的方法