mysql的索引对连接的优化

不多说直接上图,下图为room表,数据量在1w+。

mysql的索引对连接的优化

如图为13481条数据。

mysql的索引对连接的优化

下图为单元表,数据量为705条。

mysql的索引对连接的优化

mysql的索引对连接的优化

测试1:无索引的左连接和内连接耗时

内链接用时如下为 0.043s

mysql的索引对连接的优化

没有索引的左连接用时竟然为0.759s,性能比内连接低了将近20倍,当然这个结果有很大一部分是因为select * 所致(明确需要查询的内容也能提高sql性能)。

mysql的索引对连接的优化

测试2:有索引的左连接和内连接耗时

现在我们为room表加上索引。再让我们来看看查询耗时。

mysql的索引对连接的优化

左连接查询耗时,如下图查询为0.044s,明显提高了速度。

mysql的索引对连接的优化

内连接耗时,如下图查询为0.039s,跟无索引没有什么差别。

mysql的索引对连接的优化

好吧总结一下,如果有比较复杂的多表外连接情况下,为了提高查询速度,最好建立索引,能很好的提高查询速度,当然提高查询速度的代价是索引占用的空间以及维护了,做修改删除操作时同时会更新索引,所以如果添加索引的这个字段不怎么更新的话可以添加索引。


水平有限,如有不对请多指教