www.ntzj.net > 在sql语句前加ExplAin有什么用

在sql语句前加ExplAin有什么用

不实际执行,而是获得这句SQL的执行计划 -- 通常用于性能优化。

使用引号把字段名引起来就行了,`explain`,``为Tab键上面的一个键,不是单引号另外,可以在SQL中加表名如selecta.explainfroma

1、id:这是SELECT的查询序列号 2、select_type:select_type就是select的类型,可以有以下几种: SIMPLE:简单SELECT(不使用UNION或子查询等) PRIMARY:最外面的SELECT UNION:UNION中的第二个或后面的SELECT语句 DEPENDENT UNION:UNION中的第...

执行计划,可以用来分析sql语句用的,也可以用desc加查询语句,可以实现同样的效果。 例如: explain select 字段名 from 表名 where 条件语句 ; desc select 字段名 from 表名 where 条件语句 ;

一般简单的情况,根据COST分析COST的那行,看看是不是因为数据大还是全表扫描的情况。 如果是TABLE ACCESS FULL 的表,根据表的WHERE条件看下可不可以建立相关索引,其他情况的话,可以根据业务修改完善SQL了。

这是mysql的命令,, 所以只能在mysql中执行

使用explain, MySQL将解释它如何处理SELECT,提供有关表如何联接和联接的次序。你可以看到索引是不是正确使用了,根据这个来调整你的sql语句或者索引的建立。

一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。 2,long_query_time 当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短...

原因: WHERE BUS_ID IN (SELECT BUS_ID FROM BUS_TOTAL);出多行。 实例: UPDATE BUS01 SET (BUS_START, BUS_END) = (SELECT BUS_START, BUS_END FROM BUS_TOTAL WHERE BUS01.BUS_ID = BUS_TOTAL.BUS_ID) WHERE EXISTS (SELECT 1 FROM BUS_TOTA...

一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。 2,long_query_time 当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短...

网站地图

All rights reserved Powered by www.ntzj.net

copyright ©right 2010-2021。
www.ntzj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com