mysql索引
来源:互联网 发布:淘宝情侣装店铺名字 编辑:程序博客网 时间:2024/05/16 09:50
例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据组成,指为1~1000的数值,查找对应值相等行的查询如下所示。
SELECT c1,c2,c3 FROM t1,t2,t3 WHERE c1=c2 AND c1=c3
此查询结果应该为1000行,每行包含3个相等的值。在无索引的情况下处理此查询,必须寻找3个表所有的组合,以便得出与WHERE子句相配的那些行。而可能的组合数目为1000×1000×1000(十亿),显然查询将会非常慢。
如果对每个表进行索引,就能极大地加速查询进程。利用索引的查询处理如下。
(1)从表t1中选择第一行,查看此行所包含的数据。
(2)使用表t2上的索引,直接定位t2中与t1的值匹配的行。类似,利用表t3上的索引,直接定位t3中与来自t1的值匹配的行。
(3)扫描表t1的下一行并重复前面的过程,直到遍历t1中所有的行。
在此情形下,仍然对表t1执行了一个完全扫描,但能够在表t2和t3上进行索引查找直接取出这些表中的行,比未用索引时要快一百万倍。
利用索引,MySQL加速了WHERE子句满足条件行的搜索,而在多表连接查询时,在执行连接时加快了与其他表中的行匹配的速度。
//以下内容来自w3cschool
一、什么是索引
索引就是一张保存了主键和索引字段的数据表。
数据库针对myisam和innodb两种存储引擎在数据存储上面的,从myisam中可以看出,是把我们的索引单独存储到一个文件中,在查询的时候直接查询索引即可。
二、为什么使用索引
优点:快速、高效检索。如全文检索。
弊端:过多的索引也会减低更新表的速度,如我们在操作insert、update、delete时,我们不仅要向实体表中操作,还需要向索引表进行操作。还会过多的暂用磁盘的存储空间。
三、索引分类
单列索引:在创建索引时,索引中只有一个字段。一张表中可以有多个单列索引(主键索引,唯一索引,普通索引,全文索引)。
多列索引:在创建索引时,索引中有多个字段。
四、语法格式
1.在表外直接创建索引
CREATE INDEX indexName ON mytable(column(length));
2.创建表时在表的结构中添加索引
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (column(length)) );
3.删除索引
DROP INDEX [indexName] ON mytable;
五、什么时候使用索引
- 使用like时,后面为常量,要是%不在第一个字符中此时索引才会生效。例如,like '%5';此时 是不生效的。
- 进行大文本搜索时,使用全文检索而不是用'%?%'。
- 列名为索引时,使用colum-name is null ,而column-name is not null 是没有使用到索引
六、什么时候有索引但是没用索引
- 使用索引比全盘扫描更慢。
- 使用memory/heap当做存储引擎时,where条件没有使用"="。
- 用or 或者 and 隔开条件时,条件两边设置索引情况不一致。
- 查询时,where条件给的数据类型与字段的类型不一致。
七、 检索索引使用状况
show status like "hanlder_read%";
查询出来的hanlder_read_rnd_next的值越高,则效率越低。
- MySQL索引 聚集索引
- mysql 索引 & 索引类型
- MySQL索引 聚集索引
- mysql 索引 & 索引类型
- mysql索引
- mysql索引
- mysql 索引
- MySql索引
- Mysql索引
- mysql 索引
- mysql 索引
- MySQL索引
- mysql索引
- mysql 索引
- mysql索引
- mysql 索引
- MySQL索引
- mysql索引
- 快iPhone一步,中兴AXON天机MINI版成首款压力屏手机
- 「雷锋前线」ZUK Z1:一场不讲参数和工艺的手机发布会
- 算法
- static and dynamic
- 点传-手机发烧友牛B玩法
- mysql索引
- 微信分享开发总结
- 2017.10.23~10.27 JZ集训口胡
- 武则天长女暴毙的真相?多亏长虹智慧家庭告的密!
- 美学与功能兼备,苹果级工业设计的MO智能秤究竟长啥样?
- 今年China Joy看什么?虚拟现实正式来潮!
- 星轮VIULUX亮相China Joy, 带来VR游戏超高沉浸感
- 维示泰克发布“全球最高速桌面式3D打印机” 打印手环只需8分钟
- 平衡车市场如何加把火?看看i-ROBOT平衡车在做些什么