zoukankan      html  css  js  c++  java
  • 巧用getdate()测试你的sql执行效率

      在开发项目的过程中,我们会遇到各种各样的问题,有时候由于业务逻辑复杂,我们写的sql语句会很长很长,甚至会嵌套很多层,这个时候我就会担心sql执行时间会不会太长了?会不会有什么问题导致执行效率变慢?经过同事的帮助,我解决了这个疑虑,方法如下:

    declare @beginTime datetime --定义一个变量,用于存储查询开始时间.

    set @beginTime = getdate() --获取当前时间并赋值给@beginTime.

    --select ................... --这里写对应的sql执行语句.

    select [sql语句执行时间]=datediff(ms,@beginTime,getdate()) --得到的结果就是对应的sql语句执行的时间,ms:毫秒.

      代码特别简单,就用到了两个系统函数,getdate()和datediff(),getdate()就不用多说了吧,获取当前系统时间,简单说说datediff().

    DATEDIFF() 函数,用于返回两个日期之间的天数。

    语法:DATEDIFF(datepart,startdate,enddate)

    参数说明:startdate 和 enddate 参数是合法的日期表达式,要进行比较的开始时间和结束时间。

        datepart 参数可以是下列的值:

        

    datepart 缩写
    yy, yyyy
    季度 qq, q
    mm, m
    年中的日 dy, y
    dd, d
    wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    ss, s
    毫秒 ms
    mcs
    纳秒 ns

    实例:

    例子 1

    使用如下 SELECT 语句:

    SELECT DATEDIFF(day,'2013-01-04','2013-01-05') AS DiffDate

    结果:

    DiffDate
    1


    使用如下 SELECT 语句:

    例子 2

    SELECT DATEDIFF(day,'2013-01-04','2013-01-03') AS DiffDate

    结果:

    DiffDate
    -1

    参考文档:    http://www.w3school.com.cn/sql/func_datediff.asp

           http://www.w3school.com.cn/sql/func_getdate.asp

  • 相关阅读:
    转 子查询
    260@365
    线程池
    转 nio    netty
    正则表达式匹配标签内的内容
    express接受ajax的发送post请求
    如何查看代码使用率
    ajax传文件用express的multer接住
    ajax 的post方法 的content-type设置和express里应用body-parser
    webpack4 es6转换
  • 原文地址:https://www.cnblogs.com/52XF/p/3740305.html
Copyright © 2011-2022 走看看