美文网首页
2019-04-29-MySQL索引是什么

2019-04-29-MySQL索引是什么

作者: pepsi1000 | 来源:发表于2019-04-29 23:42 被阅读0次

来自这里

为什么需要索引

select * from t_user where user_name='foobar'

这条查询语句,在没有创建索引的情况下,执行之后会将t_user表的所有行按顺序扫描下来,判断每一行是否匹配。

如果t_user表存在上百万行数据时,那么数据库执行这条查询语句时将消耗大量时间。

什么是索引

An index is a data structure such as B-Tree that improves the speed of data retrieval on a table at the cost of additional writes and storage to maintain it.

简单来说,索引就是数据库的一种数据结构,例如B-Tree

两种索引

  • clustered indexes(primary index)。举例:primary key 和 unique key。这种索引本身与数据存储在同一张表内。
  • non-clustered indexes(secondary index)

MySQL创建索引的两种方式

方式一

CREATE TABLE t(
   c1 INT PRIMARY KEY,
   c2 INT NOT NULL,
   c3 INT NOT NULL,
   c4 VARCHAR(10),
   INDEX (c2,c3) 
);

方式二

CREATE INDEX idx_c4 ON t(c4);

注意:By default, MySQL creates the B-Tree index if you don’t specify the index type.

存储引擎与支持的索引类型有关。InnoDB 和 MyISAM 只支持 BTREE。

卡片说明

这张卡片的内容属于 MySQL Index Tutorial 的第一篇文章,这个MySQL索引系列教程质量很好,推荐阅读。

相关文章

  • 2019-04-29-MySQL索引是什么

    来自这里 为什么需要索引 这条查询语句,在没有创建索引的情况下,执行之后会将t_user表的所有行按顺序扫描下来,...

  • ElasticSearch 倒排索引简析

    内容概要 倒排索引是什么?为什么需要倒排索引? 倒排索引是怎么工作的? 1. 倒排索引是什么? 假设有一个交友网站...

  • MySQL索引篇

    1 索引介绍 1.1 索引是什么 ​ 官方介绍索引是帮助MySQL高效获取数据...

  • Mysql进阶第五天

    索引与执行计划 索引入门 索引是什么? 生活中的索引 MySQL 官方对索引的定义为:索引(Index)是帮助 M...

  • MySQL索引原理以及查询优化

    一、索引简介 1、索引是什么 索引是个什么东东? 1、MySQL官方对索引的定义为:索引(Index)是帮助MyS...

  • NSIndexPath - 索引路径

    NSIndexPath 是什么?@interface NSIndexPath : NSObject索引路径索引路径...

  • mysql索引简介

    索引是什么 mysql官方定义: 索引(index)是帮助mysql高效获取数据的数据结构。 所以索引的本质:索引...

  • 聚集和非聚集索引

    转载: 聚集和非聚集索引 是什么?区别是? 聚集索引就是以主键创建的索引 非聚集索引就是以非主键创建的索引 区别:...

  • 关于MySQL索引的几件小事

    零.索引简介 1. 索引是什么 ①MySQL官方对索引的定义是:索引(Index)是帮助MySQL高效获取数据的数...

  • 02-索引

    一、索引的概念 1、索引是什么 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据...

网友评论

      本文标题:2019-04-29-MySQL索引是什么

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