这个测试针对"一个月"的区间来查询数据。分datetime类型和nvachar类型。

先比较datetime类型:

一.datediff函数

declare @beginTime datetime
set @beginTime = GETDATE()
select top 100 * from [Resume] where DATEDIFF(day,'2013-03-25',UpdateTime)>0 and DATEDIFF(day,'2013-03-25',UpdateTime) < 30
select DATEDIFF(MS,@beginTime,GETDATE())
--result: 26ms

二.大于和小于时间区间

declare @beginTime1 datetime
set @beginTime1 = GETDATE()
select top 100 * from [Resume] where (UpdateTime>'2013/03/25' and UpdateTime < '2013/04/24')
select DATEDIFF(MS,@beginTime1,GETDATE())
--result:20ms

三.between..and..

declare @beginTime2 datetime
set @beginTime2 = GETDATE()
select top 100 * from [Resume] where UpdateTime between '2013/03/25' and '2013/04/24'
select DATEDIFF(MS,@beginTime2,GETDATE())
--result:20ms

再比较nvarchar类型:

一.大于和小于时间区间

declare @beginTime4 datetime
set @beginTime4 = GETDATE()
select top 100 * from [Resume] where [ExpireDate] >'2014/3/25' and [ExpireDate] < '2014/4/24'
select DATEDIFF(MS,@beginTime4,GETDATE())
--result:53ms

二.between..and..

declare @beginTime3 datetime
set @beginTime3 = GETDATE()
select top 10 * from [Resume] where [ExpireDate] between '2014/3/25' and '2014/4/24'
select DATEDIFF(MS,@beginTime3,GETDATE())
--result:53ms

通过以上比较,datetime类型查询数据效率要快的多,程序处理也方便。

同一类型字段按照某一时间区间来查询数据的话,用大于和小于时间区间查询数据效率略高。

查询数据时也不鼓励使用sql函数对表字段做任何动作。

sql时间区间查询性能测试的更多相关文章

  1. 常用SQL时间格式SQLServer中文版的默认的日期字段datetime格式是yyyy-mm-d

    常用SQL时间格式 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() -- ::08.177 ...

  2. SQL 时间格式化函数发布

    SQL 时间格式化函数,有时候因某种需要需要格式化成需要的时间格式,需要的朋友可以收藏下,以备后用. SQL Server里面可能经常会用到的日期格式转换方法: sql server使用convert ...

  3. SQL 时间处理

    1.获取当前时间 GetDate() 2.获取当前年.月.日 DATEPART(yyyy,GetDate()).DATEPART(m,GetDate()).DATEPART(d,GetDate()) ...

  4. 转 sql 时间转换格式 convert(varchar(10),字段名,转换格式)

    convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121)CONVERT为日期转换函数,一般就是在时间类型(datetime, ...

  5. SQL时间第二期_时间格式化

    0   或   100   (*)     默认值   mon   dd   yyyy   hh:miAM(或   PM)       1   101   美国   mm/dd/yyyy       ...

  6. SQL时间第一期_获取系统年月日时分秒

    select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName ...

  7. sql时间格式

    取值后格式化 {:d}小型:如2005 {:D}大型:如2005年5月6日 {:f}完整型 当前时间获取 DateTime.Now.ToShortDateString 取值中格式化 SQL Serve ...

  8. 【MySQL】Java对SQL时间类型的操作(获得当前、昨天、前年。。时间)

    Java获得当前时间 java.util.Date date = new java.util.Date(); Timestamp time = new Timestamp(date.getTime() ...

  9. (转)sql 时间转换格式 convert(varchar(10),字段名,转换格式)

    convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121) CONVERT为日期转换函数,一般就是在时间类型(datetime ...

随机推荐

  1. MongoDB 副本集配置,开启账号认证

    MongoDB 自带功能强大的主从,配置也很简单,从零开始花了30分钟搞定 3台以上机器IP: 192.168.1.24, 192.168.1.25, 192.168.1.26, 192.168.1. ...

  2. SHTSC2017酱油记

    考完回来累成狗..睡了一觉..补游记.. DAY0 把最近刷的题发了下题解..NOIP RK10的蒟蒻收拾收拾准备退役了.. 12点就睡了..很久周五没这么早睡了.. DAY1 9点就醒了..莫名紧张 ...

  3. python+echarts==pycharts

    Django数据可视化 pyechats http://pyecharts.org/#/zh-cn/django

  4. 题解 CF948A 【Protect Sheep】

    题目链接 额..这道题亮点在: $you$ $do$ $not$ $need$ $to$ $minimize$ $their$ $number.$ 所以说嘛... 直接判断狼的四周有没有紧挨着的羊,没 ...

  5. 常用跨平台IDE如何添加main函数的参数并正确执行

    1. Eclipse-cdt如何添加main函数参数: 打开eclipse,新建工程.新建源文件,此处以C语言为例,写入代码如下: #include <stdio.h> //int arg ...

  6. Python获取网页Html文本

    Python爬虫基础 1.获取网页文本 通过urllib2包,根据url获取网页的html文本内容并返回 #coding:utf-8 import requests, json, time, re, ...

  7. URL编码以及GET和POST提交乱码解决方案

    get方式时参数是作为url一部分传输的.而对于url是有规范的,汉字超出了规范的范围. post方式不需要加编码是错误的.post时也必须传送符合服务器规范的编码.如果错误,服务器收到的内容也不会正 ...

  8. js 简单数据类型和复杂数据类型的区别

    原始数据类型: number,string,boolean,undefined, null,object 基本类型(简单类型),值类型: number,string,boolean 复杂类型(引用类型 ...

  9. sql 语句设置主键

    创建表时候 SQL code? 1 2 3 4 CREATE TABLE tb ( id INT IDENTITY(1,1) PRIMARY KEY, ) 添加时候 SQL code? 1 2 ALT ...

  10. Qt 学习之路 2(56):使用模型操作数据库

    Qt 学习之路 2(56):使用模型操作数据库 (okgogo: skip) 豆子 2013年6月20日 Qt 学习之路 2 13条评论 前一章我们使用 SQL 语句完成了对数据库的常规操作,包括简单 ...