mysql索引(一)
来源:互联网 发布:知乎主要用户群体 编辑:程序博客网 时间:2024/06/14 09:58
索引的分类
- 主键索引
- 唯一索引
- 普通索引
- 全文索引
为啥加索引查询会快?
没加索引前:数据库是按顺序检索,当检索到符合条件的项时不会立即返回,而是还会继续检索,直到检索完全部
加索引后:多了一份索引文件,而这个索引文件是BTREE数据格式,每一节点都相应存储着对应对应数据的物理地址。通过二叉树算法查找这个索引文件并返回找到的数据所以速度很快。
加索引会带来什么不好的?
1.占用一定的磁盘空间
2.影响dml速度,也就是影响增删改的速度。
什么时候加索引?以及什么时候会用到索引?
1.where 条件频繁用到并且不频繁修改的同时唯一性不差的字段。
有点拗口也就是同时满足一下三个条件:
1) where语句中频繁用到的的字段
2) 不会频繁被修改的字段
3) 唯一性不太差的字段。啥叫唯一性不太差的?就是说这个字段整张表不会就几个确定的值,比如性别:男 和 女 整张表就这两种值,这种就不要加索引
2.多列索引时,只有条件语句中用到索引左边的列时才会用到索引。
3.like语句:在like语句的最前面如果有可变字符的话就不会用到索引,比如like “%abc” ,like “abc”这种的就不会用到索引,但是 like “abc%”,like “abc” 可以用到索引。 如果非得在前面加上可变字符,请走全文索引或者搜索引擎
4. or 条件语句,只有or有关的字段都加上索引时,才会用到索引。尽量不用or语句。
索引查询
1.desc table名 ;
2.show index from table名 \G ;
3.show keys from table名 \G;
0 0
- mysql 索引(一)
- mysql 索引(一)
- mysql索引(一)
- MySQL 索引(一)
- MySql 索引(一)
- MYSQL优化--索引(一)
- MySQL 索引基础 (一)
- mysql的索引使用(一)
- mysql笔记一(表、索引)
- 随笔Mysql 索引原理(一)
- mysql 优化之索引篇(一)
- mysql索引优化篇(一)
- MySQL优化06 索引(一)
- MySQL索引(一)
- mysql一: 索引优化
- Mysql学习--索引(一)
- 【mysql索引学习一】mysql索引使用
- MySQL索引专题一 认识索引
- 如何识别图像边缘?
- 堆与堆排序--递归与非递归java实现
- 下载数据库文件到指定目录
- 一台电脑同时使用GitLab和GitHub仓库
- 计算器代码
- mysql索引(一)
- 深入理解HTTP Session
- React 如何修改端口号
- springmvc小demo的构成
- hdu 2391 Filthy Rich
- 关于Instruments-Leaks工具的归纳总结
- Android开发人员不得不收集的代码
- LeetCode之MySQL题解
- java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector