Mysql索引基础

  1. 基本概念:

索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录。索引是提高数据库性能的重要方式。索引创建在表上,是对数据库表中一列或多列的值进行排序的一种结构。可以提高查询速度。MySQL中,所有的数据类型都可以被索引。

  1. 索引的优点:

增加查询速度

利用索引的唯一性来控制记录的唯一性

降低查询中分组和排序的时间

可以加速表与表之间的连接

  1. 索引的缺点:

存储索引占用磁盘空间

执行数据修改操作(INSERT、UPDATE、DELETE)产生索引维护

每次修改表结构都需要重建索引

  1. 索引的分类

普通索引:这是最基本的索引,它没有任何限制。

惟一性索引:与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)

全文索引:MySQL从3.23.23版开始支持全文索引和全文检索,FULLTEXT索引仅可用于 MyISAM 表;

单列索引、多列索引

  1. 创建索引

–创建普通索引:

create index 索引名称 on 表名(列)

alter table 表名 add index 索引名称 (列)

–创建唯一索引:

create unique index 索引名称 on 表名(列名)

alter table 表名 add unique index 索引名称 (列)

  1. 删除索引:drop index 索引名 on 表名
  2. 索引设计原则

为了使索引的使用效率更高,在创建索引的时候必须考虑在哪些字段上创建索引和创建什么类型的索引。

a)         选择惟一性索引

b)         为经常需要排序、分组和联合操作的字段建立索引

c)         为常作为查询条件的字段建立索引

d)         限制索引的数目

e)         尽量使用数据量少的索引

f)          尽量使用前缀来索引

g)         删除不再使用或者很少使用的索引

最新文章

  1. asp.net core 简单部署
  2. atitit 短信验证码的源码实现  .docx
  3. php基础语句2
  4. javascript大神修炼记(7)——OOP思想(多态)
  5. jQuery属性,方法操作
  6. Git 使用的配置 常用命令
  7. 802.11 wireless 1(主要还是学习ccna wireless的体系)
  8. Hive中自定义函数
  9. 清空DateTimePicker控件的好方法
  10. lucene 从2.4.0—3.6.0—4.3.1版本升级
  11. 最简单的html5语言
  12. 微信小程序 登录流程规范解读
  13. AUTOSAR ArcticCore重构 - for_each_HOH
  14. Linux系统编程之事件驱动
  15. LoadRunner脚本准备
  16. 使用Idea从github上获取项目
  17. activiti 快速入门--组任务(candidate users)分配(6)
  18. 《从Lucene到Elasticsearch:全文检索实战》学习笔记四
  19. 2017-2018-2 165X 『Java程序设计』课程 助教总结
  20. Linux日常使用命令

热门文章

  1. Extjs4.2 Tree使用技巧
  2. QTime中currentTime()的使用方法
  3. 第三届蓝桥杯Java高职组决赛第一题
  4. Windows平台下的node.js安装
  5. php最新学习-----文件的操作
  6. 在Node.js中使用RabbitMQ系列一 Hello world
  7. Java核心技术 卷Ⅰ 基础知识(2)
  8. 关于angularjs的$state.go()与ui-sref传参问题
  9. json格式化和查看工具
  10. 打包apk java 虚拟机内存不足