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

索引在mysql中,是独立于数据的一种特殊的数据结构。

一、索引的分类

普通索引:利用特定的关键字,标识数据记录的位置(磁盘上的位置,盘号,柱面,扇面,磁道)。
唯一索引:限制索引的关键字不能重复的索引。
主键索引:限制索引的关键字不能重复,并且不能为NULL。(不能为NULL的唯一索引)。一个表中只允许有一个主索引。
全文索引:索引的关键字,不是某个字段的值,而是字段值中有意义的词来作为关键字建立索引。
复合索引:如果一个索引(以上四种任何都可以),是依赖于多个字段创建的化,称之为复合索引。

一个myisam表的对应的三个文件:表结构文件.frm、数据文件.myd、索引文件.myi

添加一个普通索引后,索引文件会变大

二、索引的创建

第一种方式:在创建表时,一块创建索引。

第二种方式:建完表后,以alter方式建立索引。

创建索引的注意事项:

(1)较频繁的作为查询条件字段应该创建索引

select * from emp where empno = 1

(2)唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件。比如:is_best is_new is_hot is_sale is_delete

select * from emp where sex = '男'

(3)更新非常频繁的字段不适合创建索引,比如登录的状态。

select * from emp where logincount = 1

(4)不会出现在WHERE子句中字段不该创建索

三、索引的删除

删除主键索引:alter table tablename drop primary key

在删除主键索引时,要注意是否有auto_increment属性,如果有,则先要删除该属性,才能删除主键索引。

删除其他索引:alter table tablename drop index 索引的名字

注意:如果没有指定索引的名字则是使用该字段名称作为索引的名字的。

四、索引的查看

show indexes from table_name;show index from table_name;show create table table_name;show keys from table_name;desc table_name;

转载于:https://www.cnblogs.com/chenjiacheng/p/6522549.html

MySQL中索引的分类和基本操作相关推荐

  1. java类索引_java中索引的分类,图片详解

    java的学习是一个漫长而又循环往复不断上升的过程,今天我们再来看一下java索引的分类,并且通过详细的图片解析. 首先,java中的索引主要分为聚簇索引和非聚簇索引. 其中InnoDB主键使用的是聚 ...

  2. 腾讯一面:说一说 MySQL 中索引的底层原理

    一.前言 最近有很多读者要我出一些面试题的文章,一般我会给他一个老周整理的电子书,但有些读者反馈回来的面试题我觉得还是蛮经典的,而老周又在写系列的文章,本着对读者负责的态度,我会穿插写几篇我认为比较经 ...

  3. 6、MySQL 中索引的介绍

    6.MySQL 中索引的介绍 6.1.索引是什么? MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构. 索引的本质:索引是数据结构.你可以简单理解为&quo ...

  4. MySQL中索引与视图的用法与区别详解

    索引与视图是我们在日常使用mysql必不可少的一部分,最近在学习中看到一本书中关于这方法写的不错,所以这篇文章主要给大家介绍了关于MySQL中索引与视图的使用与区别的相关资料,需要的朋友可以参考借鉴, ...

  5. mysql中索引约束有哪些_Mysql中索引和约束的示例语句

    外键 查询一个表的主键是哪些表的外键 SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCE ...

  6. mysql中索引创建 查看和删除语句_MySQL如何创建和删除索引?

    mysql索引,mysql创建索引,mysql删除索引 1.在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.今天就简单地给大家演示一下mysql中索引的创建,查 ...

  7. MySQL索引,MySQL中索引的限制?

    MySQL中索引的限制: 1.MyISAM存储引擎引键的长度综合不能超过1000字节: 2.BLOB和TEXT类型的列只能创建前缀索引: 3.MySQL目前不支持函数索引: 4.使用!= 或者< ...

  8. mysql中索引的作用是什么_详解mysql中索引的作用

    1. 索引是什么,首先我们可以举个例子,字典大家应该都使用过,我们可以使用目录快速定位到所要查找的内容,那么索引跟目录的作用类似,在数据库表记录中,利用索引,可以快速过滤查找到数据记录. 2. 索引类 ...

  9. mongodb在mysql中怎么用,mongoDB数据库基本操作

    mongoDB中聚集集合(collection/coll)相当于mysql中的表 文档相当于mysql中的每一行数据 常用命令 1.获得帮助命令db.help() db.表名.help() db.表名 ...

最新文章

  1. 发布AI操作系统、应用市场,开源机器学习数据库和AI操作系统内核,第四范式这波操作有点秀!
  2. AJPFX关于Set接口学习笔记及总结
  3. ASP.NET AJAX 1.0 发布
  4. Android 10.0 系统服务之ActivityMnagerService-AMS启动流程-[Android取经之路]
  5. 戏说春秋 第三关 窃符救赵 图片隐写
  6. uniapp uni.request GET方式请求,不能直接传数组解决方法
  7. mysql 时间 sql_MySQL sql语句获取当前日期|时间|时间戳
  8. 浏览器根对象window之performance
  9. 在网上找了一个读取文件夹下面的所有文件到txt的code 已验证
  10. 杜月笙的六句忠告,学会了不吃亏
  11. UVA12554 A Special Happy Birthday Song!!!【水题】
  12. html页面载入完毕返回顶部,HTMl页面中返回顶部如何实现 HTMl页面中返回顶部实现代码...
  13. 很好用的查看PE文件的小工具---LordPE Deluxe 1.4 汉化版
  14. 什么是SPREADJS的脏数据?
  15. C简单动态规划——爬数塔
  16. VMware虚拟机运行时报The CPU has been disabled by the guest operating system错误的解决方法
  17. dw css定位,css关于position属性的用法详解(绝对定位和相对定位的混淆)
  18. 51单片机可以用来练手的60个小设计
  19. 辽宁师范大学计算机科学技术与,王相海 - 辽宁师范大学 - 计算机与信息技术学院...
  20. 深度学习和神经网络的区别是什么

热门文章

  1. 【Mybatis】分割字符串
  2. gpio 树莓派3a+_树莓派4正式发布!硬件性能大提升:CPU提升3倍,支持USB3.0、蓝牙5.0、千兆以太网、4G LPDDR4、H.265...
  3. spring cloud入门_Spring Boot 2.x基础教程:快速入门
  4. 哪些计算机p玩游戏,有了这个神器,你的电脑玩什么游戏都带得动
  5. docker下部署Tomcat运行war包
  6. Git——跟踪或取消跟踪文件
  7. 再见 CSV,速度提升 150 倍!
  8. HTML里的表格不能复制粘贴,表格之间无法复制粘贴怎么办_两个EXCEL表格为什么不能复制和粘贴-win7之家...
  9. java sscanf_sscanf 详细说明
  10. java文本区显示在右边_怎么让文本区从右边开始显示文本