zoukankan      html  css  js  c++  java
  • 索引

    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加入模糊查询:

     

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

  • 相关阅读:
    harass
    matlab的legend()用法
    migrate
    大千敦煌面壁
    三维插值(MATLAB)——TriScatteredInterp/scatteredInterpolant函数
    有哪些不出名的诗人写的千古名句?
    听吴翰清讲课笔记
    移动着,心就变了
    人活着为了什么?
    人生就是一场修炼
  • 原文地址:https://www.cnblogs.com/ibear/p/12669647.html
Copyright © 2011-2022 走看看