Mysql之索引

原创 2018年04月16日 10:33:55

文章参考:《深入浅出Mysql》 第二版本

索引是数据库中用来提高性能的常用工具。
对于Mysql而言,所有的类型都可以被索引。对相关列进行索引是提高查询(select)性能的重要途径。

1.索引概述

mysql每种存储引擎对每个表至少支持16个索引,总索引长度至少为256字节。MyISAM和InnoDB存储引擎的表默认的创建BTREE索引。
mysql还支持全文本索引,该索引可以用于全文搜索。innodb引擎需要5.56版本之后才支持。

2.索引的设计原则

  1. 搜索的索引列不一定是所要选择的列。也就是说最合适的索引列是出现在where自居中的列,或者连接子句中的列。
  2. 使用唯一索引。索引列的基数越大,存储的值越离散程度越大,效果越好。
  3. 使用短索引。例如:有一个char(200)列,如果在前10个或20个字符内,多数值是唯一的,就不要对整个列进行索引。对前10或者20个字符进行索引。
  4. 利用最左前缀
  5. 不要过度索引。
  6. 对于innodb存储引擎的表,记录默认会按照一定的顺序保存。

文章参考:《深入浅出Mysql》 第二版本

版权声明:本文为博主原创文章,未经博主允许不得转载。客官打赏:http://blog.csdn.net/assassinsshadow/article/details/76086401 https://blog.csdn.net/io97704842/article/details/79956820

MYSQL学习笔记-索引

  • 2010年08月28日 07:57
  • 7KB
  • 下载

mysql的最佳索引攻略

Explain优化查询检测 所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找,而用的最多,并且是mysql默认...
  • GarfieldEr007
  • GarfieldEr007
  • 2017-01-12 23:00:11
  • 1647

Mysql常见四种索引的使用

提到mysql优化,索引优化是必不可少的。其中一种优化方式 ——索引优化,添加合适的索引能够让项目的并发能力和抗压能力得到明显的提升。 我们知道项目性能的瓶颈主要是在"查(select)"语句,要提升...
  • u013927110
  • u013927110
  • 2015-06-25 15:12:38
  • 7632

Mysql 索引问题-日期索引使用

这两天发现原来的查询效率慢了,使用explain 查看,居然没有使用索引, 我的索引是日期类型的,首先想到的是mysql对日期类型的索引的处理机制是不是不同,在where条件里试了几种,发现效果都差...
  • spider_zhcl
  • spider_zhcl
  • 2016-11-24 18:02:48
  • 10080

mysql 时间索引失效

项目中查询时间断的数据发现查询时间很长。怀疑没有走时间的索引,于是explain一下 EXPLAIN select * from t_order where created_at>'2015-01-...
  • kelindame
  • kelindame
  • 2017-02-23 12:45:40
  • 5487

mysql简单的索引和in、or、union unionall语句查询速度

MYSQL描述: 一个文章库,里面有两个表:category和article。category里面有10条分类数据。article里面有20万条。article里面有一个"article_categ...
  • zhang515745112
  • zhang515745112
  • 2016-07-04 10:02:47
  • 8655

mysql强制使用指定索引查询

mysql强制指定索引查询语法: select * from table_name force index (index_name) where conditions;#########mysql强...
  • zixiao217
  • zixiao217
  • 2017-08-14 17:22:10
  • 1558

mysql添加删除索引

mysql添加删除索引
  • chenhualeguan
  • chenhualeguan
  • 2015-11-06 09:50:31
  • 5008

MySQL创建表的时候创建索引

要想使用索引提高数据表的访问速度,首先,需要创建一个索引,创建索引的方式,有三种。创建表的时候,创建索引这种方式最简单、方便,语法格式 CREATE TABLE 表名(字段名 数据类型[完整性约束条...
  • nangeali
  • nangeali
  • 2017-06-17 20:20:00
  • 7717

MySql_添加索引

9.1 索引简介       索引是一个单独的存在磁盘上的数据结构,他们包含着对数据表列的所有记录的引用的指针,使用索引可以快速的查找出某个或多个列中有特定值的行       索引是在存储引擎上实...
  • wbj1992
  • wbj1992
  • 2017-03-19 15:35:34
  • 993
收藏助手
不良信息举报
您举报文章:Mysql之索引
举报原因:
原因补充:

(最多只允许输入30个字)