mysql中TIMESTAMPDIFF 和 explain 的作用和用法

1.TIMESTAMPDIFF

语法:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)

说明:返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

  1. FRAC_SECOND。表示间隔是毫秒
  2. SECOND。秒
  3. MINUTE。分钟
  4. HOUR。小时
  5. DAY。天
  6. WEEK。星期
  7. MONTH。月
  8. QUARTER。季度
  9. YEAR。年

 使用范例:

$sql = "SELECT d_userid FROM d_needs WHERE addtime BETWEEN '".$stime."' AND '".$etime."'  AND TIMESTAMPDIFF(MINUTE,d_stime,d_etime) < '".$finish_time."' GROUP BY d_userid";

意思是想要查到开始和结束时间差小于5分钟的人,直接可以作为条件使用

2.explain

我们需要知道SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。可以帮助我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。需要注意的是,生成的QEP并不确定,它可能会根据很多因素发生改变。MySQL不会将一个QEP和某个给定查询绑定,QEP将由SQL语句每次执行时的实际情况确定,即便使用存储过程也是如此。尽管在存储过程中SQL语句都是预先解析过的,但QEP仍然会在每次调用存储过程的时候才被确定。

用法非常简单:explain + sql语句即可

explain SELECT paymoney FROM `d_needs` WHERE `pub_type` = 1

执行后会返回表格,详细解释百度

猜你喜欢

转载自blog.csdn.net/qq_42774929/article/details/81172681
今日推荐