MySql教程

十分钟带你明白mysql的优化

本文主要是介绍十分钟带你明白mysql的优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、索引


1.1索引的介绍

       索引是用于找出在某个列中有一特定值的行,如果不适用索引取查询某个值的时候,MYSQL就必须从第一条开始遍历整个表格,直到找出相关的行,表格越大查询的数据花费的时间就越多,如果使用了索引,就会将建立索引的字段,通过一定的方法进行存储,再次查询的时候就不会从数据库的第一条开始遍历。

1.2索引的优缺点

优点:

  1. 所有的mysql列类型的字段类型,都可以被索引,也就是可以给任意字段设置索引
  2. 可以提高查询效率

缺点:

  1. 存储索引也是需要空间的,索引如果不是数据量特别大,不建议使用
  2. 索引在同一个表中也不是越多越好,需要自己合理使用

1.3索引的分类

1.索引的存储类型

索引的存储类型有两种:BTREE 、HASH

2.索引的存储引擎

 3.索引的分类

  • 单列索引:一个索引只包括单个列,但是一个表格可以有多个单列索引,单列索引又分为三种普通索引、唯一索引、主键索引。
  1. 普通索引:mysql中基本的索引类型,没有什么限制,允许定义索引列的数据可以为空值,也可以是重复
  2. 唯一索引:索引列中的值必须是唯一的,但是允许是空值
  3. 主键索引:是一种特殊的唯一索引,不允许有空值
  • 组合索引:一个索引包含多个列,只有在查询条件中使用,使用组合索引的时候遵循最左前缀原则。
  • 全文索引:要求只有在MyISAM引擎才能够使用,只能在varchar、char、text类型的字段上使用全文索引,类似于模糊查询
  • 空间索引:空间索引是对空间数据类型的字段建立索引。

按照之前的开发经验,四种索引类型中常用的是单列索引和组合索引。

这篇关于十分钟带你明白mysql的优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!