产品提了个需求,需要在后台展示不同等级的用户情况,功能本身很简单,但是在功能上线前跑一段 sql 先进行打标签时,在测试环境用 explain 语句,发现这段 sql 并没有用到我认为会使用的索引。 这段 sql 是这样的: insert into new_table(user_id,flag) select user_id,1 as flag from table where coins >
在MySQL8.0之后的创新版本中Explain扩展了新用法。 EXPLAIN INTO 当EXPLAIN FORMAT=JSON时支持额外的INTO用法,可以将JSON格式的输出保存到变量中,而不是将其返回给客户端。适用于任何可解释的语句(包含SELECT、TABLE、INSERT、UPDATE、REPLACE或DELETE语句)。之后使用JSON函数,从结果集中获取所需值,就像处理任何其他JS
今天查看官网blog时发现的两个关于explain特性,对于执行计划的统计信息分析是非常有用的,但是对仅查看SQL的执行计划时并没有什么意义。 原文链接: https://dev.mysql.com/blog-archive/explain-into-and-explain-for-schema-in-mysql-81-and-82/ 解释一下 MySQL 8.1 中引入的 EXPLAIN 的 I
MySQL的EXPALIN是优化查询语句必不可少的工具,用户通过它可以获得查询计划的相关信息,查看优化器的选择。 EXPLAIN生成的查询计划中显示优化器计划如何执行查询,包括“SELECT”、“INSERT”、“REPLACE”、“UPDATE”和“DELECE”语句。执行EXPLAIN不会修改执行语句涉及的数据,也不会返回执行语句的结果集。例如: MySQL localhost:3350 ss