| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQL学习笔记(15-28) -> 正文阅读 |
|
[大数据]MySQL学习笔记(15-28) |
目录 索引的优劣1.优势 类似大学图书馆图书编号建索引,提高了数据检索的效率,降低数据库的IO成本 通过索引对数据进行排序,降低数据排序的成本,降低了CPU的消耗 2.劣势 实际上索引也是一张表,该表保存了主键与存在索引的字段,并指向实体表的记录,所以索引列也是占用空间的 虽然索引大大提高了查询速度,但是会降低更新表的速度,比如 update,insert,delete操作,因为更新表时,MySQL不仅要数据也要保存索引文件每次更新添加了索引的字段,都会调整因为更新所带来的键值变化后的索引信息 索引只是提高效率的一个因素,在一个大数据量的表上,需要建立最为优秀的索引或者写优秀的查询语句,而不是加了索引就能提高效率 索引分类
有四种方式来添加数据表的索引 ? mysql索引结构
? ? ? 那些情况建索引
哪些情况不要建索引
性能分析explian重点 ? 能干什么
id三种情况
select_type
type:: type显示的是访问类型排列,是较为重要的一个指标 ? 从最好到最差依次是: system > const > eq_ref> ref > range > index > ALL; 一般来说,得保证查询至少达到range级别,最好ref ----------------------------------------------type类型-------------------------------------------------------
----------------------------------------------type类型------------------------------------------------------- possible_keys:显示可能应用的的索引(理论上) key:实际使用的索引,查询中若使用了覆盖索引,则该索引仅仅出现在key中 key_len:表示索引中使用的字节数,在不损失精度的情况下越短越好,kenlen显示的值为索引字段的最大可能长度,并非实际使用长度,kenlen是根据表定义计算而得,而不是通过表内检索出的 key_len长度:13是因为char(4)*utf8(3)+允许为null(1)=13 ref:显示索引的哪一列被使用了,如果可能的话是一个常数,哪些列或常量被用于查找索引列上的值 ? rows:根据表统计信息及索引选用情况,大致计算出找到所需的记录所需要读取的行数 ? 没建立索引时查询t1 t2表 t1表对应t2表的id t2表 col1的值要为'ac' 对于Id这个字段t1表对t2表相当于 一对多 t1表的type为 eq_ref代表唯一性索引扫描,表中只有一条记录与之匹配,t2表对应t1的这个id对应的col值只有一个,根据t2表的主键id索引查询,t1表读取了一行,t2表读取了640行 建立索引后 ? t1读取一行,t2读取142行,ref非唯一性索引扫描,返回匹配某个单独值的所有行,返回t2对应id的col所有行,而t1对应id的col只有一行,所以type为eq_ref |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:41:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |