zoukankan      html  css  js  c++  java
  • mysql索引

    概述

    索引的作用:是用于快速定位实际数据位置的一种机制。

    4种类型:

    主键索引,唯一索引,普通索引,全文索引。

    无论任何类型,都是通过建立关键字与位置的对应的关系来实现的。以上类型的差异,是对关键字的要求不同。

    关键字:记录的部分数据(某个字段,某些字段,某个字段的一部分)

    普通索引:对关键字没有要求。

    唯一索引:要求关键字不能重复,同时增加唯一约束。

    主键索引:要求关键字不能重复,也不能为NULL。同时增加主键约束。

    复合索引:一个索引通过在多个字段建立。

    1,创建索引

    建表时:

    修改表结构时:

    1.添加PRIMARY KEY(主键索引) 
    mysql>alter table table_name add primary key ( column ) 
    2.添加UNIQUE(唯一索引) 
    mysql>alter table table_name add UNIQUE KEY (column)
    3.添加INDEX(普通索引) 
    mysql>alter table table_name add INDEX (column) 
    4.添加复合索引 
    mysql>alter table table_name add INDEX ( column1, column2 )

    2,删除索引

    除了删除主键索引,其它不管什么类型索引都用以下方式

    mysql>alter table table_name drop index  索引名称

    3,查看索引

    show index from table_name

    4,创建索引注意事项

    第一:较频繁的作为查询条件字段应该创建索引

    select * from table_name where id= 1

    第二:唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件

    select * from table_name where sex = '男‘

    第三:更新非常频繁的字段不适合创建索引

    select * from table_name where logincount = 1

    第四:不会出现在WHERE子句中字段不该创建索=>会出现在where子句中的字段创建索引

    5,执行计划

     主要用于分析sql语句的执行情况(并不执行sql语句)得到sql语句是否使用了索引,使用了哪些索引

      语法: desc  sql语句G  

    6,索引的数据结构

     

     7,索引覆盖

     概述:查询字段 索引字段 完全一致或者 索引字段一部分时查询速度非常快

     

     复合索引的索引覆盖,

    idname创建复合索引

    负面影响,增加了索引的尺寸(索引文件变大

  • 相关阅读:
    mysql 8安装
    MYSQL escape用法--转义
    为什么lombok不起作用
    zookeeper的作用
    限流的玩法汇总
    Golang程序调试工具介绍(gdb vs dlv)
    净化Git之rebase变基的使用
    深入linux下磁盘Disk,分区Partition,挂载Mount
    利用SSH(无密码)免登录来节省你的生命
    tcp_tw_reuse、tcp_tw_recycle注意事项
  • 原文地址:https://www.cnblogs.com/jdbeyond/p/11357766.html
Copyright © 2011-2022 走看看