ホームページ  >  に質問  >  本文

mysql索引 - mysql explain 的using where 到底是什么意思?

高性能mysql上说 using where 意味着mysql服务器将在存储引擎检索行后再进行过滤。

第一次我做如下的explain


我的理解是这次查询在存储引擎层就使用了where,所以不用在mysql服务器层过滤。

第二次explain


这里为什么还有using where?不是已经在存储引擎层做了过滤了吗?

第三次explain

varchar类型的查询,无论用=、like都会有using where。这里应该也是在存储引擎层就过滤好了吧?

阿神阿神2742日前980

全員に返信(1)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:39:40

    Extra でインデックス使用条件が発生しない限り、フィルタリングはすべてサーバー層で実行されます。

    返事
    0
  • キャンセル返事