索引

ibear 2020-04-09 原文

索引

1、什么是索引?有什么用?

索引相当于一本书的目录,通过索引可以快速的查找到相应的资源,缩小查找的范围

在数据库通过表查询数据方面,一般有两种方式:

  (1)第一:全表扫描所有的数据

  (2)第二:通过索引进行查找

注意:索引虽然可以提高检索效率,但是不能随便添加索引,因为索引也是数据库当中的对象,也需要数据库不断地维护。是有维护成本的。

      比如表中的数据经常被修改就不适合添加索引,因为数据一旦被修改,索引需要重新排序

 

2、什么时候给字段添加索引?(满足什么条件)

2.1注意:添加索引一般是给某个字段或者一些字段添加索引

 

 2.2添加原则:(1)该字段数据量庞大

        (2)该字段很少出现DML操作(insert、delete、update操作时索引也要进行排序)

        (3)该字段一般出现在where子句后

  注意:设置为主键(primary key)、unique关键字的字段会自动添加索引

 

3、查看sql语句的执行计划

   explain select * from tablename where + 条件;

 

3.1我们通过id和name字段分别查看sql执行计划,因为id字段我们设置为primary key 检索时自动通过索引只查找,只查找一行,而通过name查找的需要扫描8行

 

 

 3.2 给字段添加索引

  create index tablename_字段名_index on tablename(字段名)

     create index t_user_name_index on t_user(name)

删除索引:

   drop  index tablename_字段名_index on tablename;

   drop  index t_user_name_index on t_user;

 a.未加索引时sql语句查询时的执行计划:

 

 

  b.添加索引后sql语句查询时的执行计划:

 

 

3.3索引的硬盘映射机制原理:

 

 

 

 

4、索引失效

当使用模糊查询时,第一个为%时为失效。

4.1总表数据:

 

 

4.2加入模糊查询:

 

 总结:尽量不要使用模糊查询会影响查询效率

发表于
2020-04-09 21:20 
一只懒懒的熊Zz 
阅读(
评论(
编辑 
收藏

 

版权声明:本文为ibear原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ibear/p/12669647.html

索引的更多相关文章

  1. Java 语法 索引 —– 抽象类(Abstract)

    abstract class Shape { public int x = 100, y = 100; pub […]...

  2. MySQL全面瓦解22:索引的介绍和原理分析

    索引的定义 MySQL官方对索引的定义为:索引(Index)是协助MySQL高效获取数据的数据结构。 本质上, […]...

  3. MySQL全面瓦解21(番外):一次深夜优化亿级数据分页的奇妙经历

    背景 1月22号晚上10点半,下班后愉快的坐在在回家的地铁上,心里想着周末的生活怎么安排。 突然电话响了起来, […]...

  4. MySQL 约束、表连接、表关联、索引

    一、外键: 1、什么是外键 2、外键语法  3、外键的条件 4、添加外键 5、删除外键 1、什么是外键: 主键 […]...

  5. sql语句增加字段 索引

     alter table order_info add area varchar(50)     create […]...

  6. RocketMQ(十):数据存储模型设计与实现

      消息中间件,说是一个通信组件也没有错,因为它的本职工作是做消息的传递。然而要做到高效的消息传递,很重要的一 […]...

  7. 一文快速入门 MySQL 索引

    404...

  8. 【Mysql知识补充】

    一、子查询 1.定义 子查询是将一个查询语句嵌套在另一个查询语句中。内层查询语句的查询结果,可以为外层查询语句 […]...

随机推荐

  1. vs2015网站发布时,设置页面合并后程序集的文件版本

    如何将web网站的页面合并成一个新的程序集发布,并设定文件版本? 这个问题我也纠结了很久,问了很多大牛,也没有 […]...

  2. 微信小程序图片加载失败后重新加载的方法

       由于某些图片提交到服务器后 不能及时更新到微信小程序image标签上 所以经常会出现404错误  但是服 […]...

  3. Python作用域详述

    作用域是指变量的生效范围,例如本地变量、全局变量描述的就是不同的生效范围。 python的变量作用域的规则非常 […]...

  4. eclipse在异常关闭后,导致无法启动workspace问题的解决

    现象: 现在大多数java开发者使用的IDE都是eclipse,而且一般在一个workspace中,会有很多个 […]...

  5. 负载均衡软件LVS 三种实现模式对比

    负载均衡集群,顾名思义,就是让多台服务器共同负担压力。负载均衡是企业级大型项目所需的重要模块。 当前实现负载均 […]...

  6. 华为云搭建javaweb服务器

    前段时间牛客网跟华为云一起做活动,学生党10元白嫖一年的华为云,在此感谢华为云和牛客网对学生群体的照顾 但是有 […]...

  7. Ubuntu 使用root登陆界面

      打开终端开启root账户 :sudo passwd -u root 输入当前用户的密码 2.为root账户 […]...

  8. 文件下载(下载文件名乱码解决方法)

    1. 下载就是向客户端响应字节数据! 原来我们响应的都是html的字符数据! 把一个文件变成字节数组,使用re […]...

展开目录

目录导航