避免使用SELECT *

有的时候,我们为了图方便,会直接使用SELECT * 一次性查出表中所有的数据:

SELECT * FROM student

执行结果如图所示:

image.png

可以看到,执行时间花了2s左右,耗时很长!


在实际开发中,我们给页面展示的数据可能就只要2-3个字段,如果直接全部查出来了,岂不是白白浪费了字段,同时也损耗了性能,这是因为SELECT * 不会走覆盖索引,会出现大量的回表操作,从而导致SQL性能大幅度降低。


我们上面建立了联合索引,我们就可以只查询索引列,这样会大幅度提升查询效率,优化的SQL如下:

SELECT name,address,phone FROM student

执行结果如图所示:

image.png

这样执行的速度大大提高!


分析SQL:

使用EXPLAIN关键字执行这段SQL:

EXPLAIN SELECT name,address,phone FROM student

执行结果如图所示:

image.png

确实走了我们建立的复合索引。 

腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/myMrVrgmS5HLuoeD (转载请保留)。
关注下面的标签,发现更多相似文章