美文网首页
索引概述

索引概述

作者: hk_faith | 来源:发表于2018-09-06 15:45 被阅读0次

索引是数据库查询提高性能的最常用的工具。可以把索引类比成书的目录。索引类型:hash索引和btree索引。MyISAM 和 InnoDB默认的是btree索引。
参考1
参考2

Btree索引和hash索引的有缺点

结论是:btree要比hash 强大
Hash索引只能使用 = 或者 <=> 操作符比较,in ( ),
btree索引可以使用 >, < >=,<=,=,!=,<>,between ,in ,like ,但是不能用%开始

索引种类

主键索引,唯一索引,普通索引,全文索引(只有MyISAM引擎支持),组合索引,前缀索引

问题:聚合索引和非聚合索引的区别?
聚合索引要比非聚合索引快,一个表中只有一个聚合索引,他是在主键上的那个列。

创建索引
 Create [unique|fulltext|] index index_name on tab_name (col_name[(lenght)])

 Alter table tab_name add [unique|fulltext|] index index_name (col_name[(lenght)])
删除 索引
Drop index index_name on tab_name
查看 索引
 Show index from tab_name
检查sql语句中是索引是否有效
Explain  select.........  \G

索引使用基本原则

  • 最适合索引的列是出现在where字句中的列,或on 连接字句中列,而不是select 后面的列
  • 使用唯一索引,索引列的基数越大,索引的效果越好。也就是说,我们创建的索引的列可以跟大的程度的区分表中的数据。例如:把邮箱作为唯一索引,(不可把性别做索引)
  • 不可以过度的使用索引。不是索引越多越好,每个额外的索引都会占用额外的磁盘空间,并降低写性能,因为在你秀改表的时候,索引必须重新进行修改或者重构!
  • 使用短索引,如果对字符串进行索引的时候,应该指定一个长度,这个长度可以区分表中的数据还可以节省磁盘空间。
  • 适应左前缀原则,在创建n个列的索引时候,实际上创建了mysql可以使用的n个索引,多个索引列可以起到几个索引的作用,因为可利用索引中最左边的列来匹配行。
  • 对于innoDB存储引擎,要指定自己的主键,当一个表中的有几个列都是唯一的,都可以作为主键的时候,要选择最常作为条件列作为主键

相关文章

  • Mysql高级学习(3):索引概述及使用索引的优劣势

    Mysql高级学习(3):索引概述及使用索引的优劣势 3.1索引概述 MySQL官方对索引的定义为:索引(inde...

  • 索引概述

    索引是数据库查询提高性能的最常用的工具。可以把索引类比成书的目录。索引类型:hash索引和btree索引。MyIS...

  • RocketMQ源码-Index索引介绍

    1 概述2 入口方法介绍3 索引结构介绍4 索引操作5 索引查询 1 概述 RocketMQ中Broker在收到生...

  • RocketMQ源码-ConsumeQueue的构建

    1 概述2 入口方法3 ConsumeQueue索引结构4 索引构建 1 概述 RocketMQ一个Broker中...

  • 【书 : InnoDB 存储引擎】第5章 索引与算法

    5.1 InnoDB 存储引擎索引概述 常见的索引: 1 B+ 数索引 2 全文索引 3 哈希索引 : 哈希索引是...

  • MySQL索引概述

    1. 管理索引的语法 查看表存在的索引 创建索引 删除索引 注:还有一种通过 create index 和 dro...

  • InnoDB索引

    1. InnoDB存储引擎索引概述 InnoDB支持以下常见索引: B+树索引 全文索引 哈希索引 ​  Inno...

  • Doris系列15- 索引

    一. 索引概述 目前Doris只支持bitmap 索引BITMAP 索引仅在单列上创建 bitmap index:...

  • 面试必备的索引优化

    关于索引,分为以下几点来讲解(技术文): 索引的概述(什么是索引,索引的优缺点) 索引的基本使用(创建索引) 索引...

  • 第五章 索引与算法(上)

    5.1 InnoDB存储引擎索引概述InnoDB存储引擎支持以下几种常见索引: B+树索引 全文索引 哈希索引 I...

网友评论

      本文标题:索引概述

      本文链接:https://www.haomeiwen.com/subject/csexgftx.html