巧用getdate()测试你的sql执行效率
2014-04-22 20:14
246 查看
在开发项目的过程中,我们会遇到各种各样的问题,有时候由于业务逻辑复杂,我们写的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 参数可以是下列的值:
实例:
例子 1
使用如下 SELECT 语句:
结果:
使用如下 SELECT 语句:
例子 2
结果:
参考文档: http://www.w3school.com.cn/sql/func_datediff.asp
http://www.w3school.com.cn/sql/func_getdate.asp
感谢您怀着耐心看完整篇博文!!!
如果文章有什么错误或不当之处,请您斧正!
您有任何意见或者建议,您可以给我发邮件,也可以在下面留言,我看到了会第一时间回复您的,谢谢!
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 |
例子 2
SELECT DATEDIFF(day,'2013-01-04','2013-01-03') AS DiffDate
结果:
DiffDate |
---|
-1 |
http://www.w3school.com.cn/sql/func_getdate.asp
感谢您怀着耐心看完整篇博文!!!
如果文章有什么错误或不当之处,请您斧正!
您有任何意见或者建议,您可以给我发邮件,也可以在下面留言,我看到了会第一时间回复您的,谢谢!
相关文章推荐
- mysql.zip免安装版配置
- Ubuntu下彻底解决mysql中文乱码
- sharding系列好文收藏
- 采用Keepalived实现Redis双机高可用
- 各种数据库限制结果集行数总结
- Oracle数据库案例整理-Oracle系统运行时故障-RAC异常重启
- Oracle数据库案例整理-Oracle系统运行时故障-目录/var/tmp/.oracle不存在导致监听数据库失败
- Oracle数据库案例整理-Oracle系统运行时故障-tnsnames.ora文件配置错误导致数据库TNSping失败
- Oracle数据库案例整理-Oracle系统运行时故障-alert.log日志文件大小超出限制
- Oracle数据库案例整理-Oracle系统运行时故障-$ORACLE_HOME/bin下的文件权限错误导致TNS连接失败
- Oracle数据库案例整理-Oracle系统运行时故障-stage目录权限错误导致创建pfile文件失败
- Oracle数据库案例整理-Oracle系统运行时故障-Shared Pool内存不足导致数据库响应缓慢
- Oracle数据库案例整理-Oracle系统运行时故障-内存过少导致分配共享内存失败
- Oracle数据库案例整理-Oracle系统运行时故障-表空间所在的目录没有可用空间导致收集统计信息失败
- Oracle数据库案例整理-Oracle系统运行时故障-断电导致数据文件状态变为RECOVER
- mysql5.5.15配置主从数据库
- Oracle数据库案例整理-Oracle系统运行时故障-无法释放已经结束的进程资源导致进程死锁
- Oracle数据库案例整理-Oracle系统运行时故障-sql_trace设置为TRUE导致Oracle根目录可用空间不足
- SQL:select case when(转)
- Oracle SQL性能优化