SQL - 多表建立索引

1.建表
SQL - 多表建立索引_第1张图片

查看class 表的数据
SQL - 多表建立索引_第2张图片
查看 book 表单的数据
SQL - 多表建立索引_第3张图片
card 为外键, 关联2 个表
SQL - 多表建立索引_第4张图片

案例:

在这里插入图片描述

type 是ALL , row 20 性能差
在这里插入图片描述
加索引, 先给book 表的card 字段加索引
在这里插入图片描述
book 是右表, 加了索引。 所以性能比class 表高
SQL - 多表建立索引_第5张图片

将右表book 的index 删除, 将index 加在坐标class上
SQL - 多表建立索引_第6张图片
性能如下
不如将index 在在右表book 上

SQL - 多表建立索引_第7张图片
SQL - 多表建立索引_第8张图片
left join 将索引建立在 右表上, 因为左表一定都有, 右表按索引查询
反之亦然

三个表建立索引

建立第三个表
SQL - 多表建立索引_第9张图片

SQL - 多表建立索引_第10张图片

案例:
三表联查
在这里插入图片描述

SQL - 多表建立索引_第11张图片
性能如下
SQL - 多表建立索引_第12张图片

开始建立索引
将两个右侧的表加上索引
SQL - 多表建立索引_第13张图片
优化后性能如下:
在这里插入图片描述

SQL - 多表建立索引_第14张图片

结论
SQL - 多表建立索引_第15张图片

你可能感兴趣的:(MySql)