1,在写sql时,如果sql中包含where语句,那么这里会有以下几种情况
a,where语句中字段是有索引的,这时explain中extra显示using index(最佳)
b,字段没有索引,这时extra显示using where
相当于返回全部行,然后再进行筛选
mysql在3种情况下使用where,最好到最坏
1,对索引查找应用where子句来消除不匹配行,这个发生在存储引擎层
2,使用覆盖索引(extra显示using index)来避免访问行,并且从索引取出数据后,过滤掉不匹配的行。这发生在服务器层,但它不需要从表中读取数据。
3,从表中检索出数据,然后过滤掉不匹配的行(extra显示using where),这发生在服务器端,并且要求在过滤之前读取这些行
mysql 查询语句优化总结
最新推荐文章于 2024-08-25 08:00:00 发布