mysql 使用如下三种方式应用where条件,从好到坏

  1. 在索引中使用where条件过滤不匹配的记录,这是在存储引擎层完成的;

  2. ​使用索引覆盖扫描(explain语句中的Extra列中出现Using index)来返回记录。直接从索引中过滤掉不需要的记录并返回命中得结果,这是mysql服务器层完成,但再无需回表查询记录;

  3. 从数据表中返回数据,然后过滤掉不需要条件的记录(explain语句中的Extra列中出现Using where)。这是在mysql服务器层完成,mysql需要从数据表读取记录然后过滤;

posted @ 2017-02-08 19:25  李修远  阅读(658)  评论(0编辑  收藏  举报