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创建复合索引

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

  • 相关阅读:
    部分数据文件损坏的修复处理示例.sql
    使用UPDATE进行编号重排的处理示例.sql
    DNS Prefetching 技术引入及实现方法
    查找指定节点的所有子节点的示例函数.sql
    特殊的交叉报表处理示例.sql
    定时备份FTP+Mysql到云服务器
    cPanel下安装GodaddySSL教程
    移动节点处理的通用存储过程.sql
    应用程序角色使用示例.sql
    文件及文件组备份与还原示例.sql
  • 原文地址:https://www.cnblogs.com/jdbeyond/p/11357766.html
Copyright © 2011-2022 走看看