您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何基于EXPLAIN计划优化MySQL查询

如何基于EXPLAIN计划优化MySQL查询

取决于您要查询内容查询内容

通常,对于EXPLAIN中每个具有的行Using where,您都需要使用索引(possible keyskeys列)来使它。这些是您的过滤器,包括WHERE和ON。说得Using index更好。这意味着有一个覆盖索引,MysqL可以直接从索引中检索数据,而不必访问表数据中的行。

Using where应该查看没有的行,它返回大量行。这些是表中所有行的返回值。我不知道您的查询是什么,所以我不知道是否@R_419_2472@被提醒。尝试过滤结果集以减小大小并提高性能

通常,您应该尽量避免看到Using filesortUsing temporary,尽管只有在不期望它们的情况下它们才是不好的。

Filesort通常与ORDER子句一起出现。通常,您希望MysqL使用覆盖索引(Using index),以便已按顺序从服务器返回行。如果不是,则MysqL必须在以后使用文件排序对其进行排序。

Using temporary当它引用派生表时可能会很糟糕,因为它们没有索引。看来您已经用索引明确创建了一个临时表,所以@R_419_2472@还不错。有时,您唯一的选择是使用派生表,因此Using temporary

MySQL 2022/1/1 18:12:31 有986人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶