我有一个项目,我正在工作,需要我从数据库中删除记录,如果他们至少是3岁。
我在DB2 SQL中有类似这样的东西来获取日期:
SELECT * FROM tableA
WHERE ADD_DATE < CHAR(CURRENT DATE-3 YEARS)ADD_DATE在我的系统中存储为字符,这就是为什么我要转换
我知道还可以获取日期并将其格式化为VB.net,这是我用来调用SQL语句的语言。
我的问题是,在SQL中获取日期并在SELECT中执行转换是更快/更好,还是获取当前日期并将其转换为VB.net,然后在SQL语句中使用该日期更好。我认为VB.net会更好,因为有成千上万的记录必须进行比较。我应该能够在VB中设置它,以便它只检索日期并转换一次,但我不确定这些语句对每个语句的性能有何影响。
提前谢谢。
发布于 2011-12-20 00:55:14
如果您对数据库调用所做的全部工作就是获取日期,那么在客户端获取它会更快,并且避免了与数据库的往返。
如果你在服务器端这样做,并且你在一个基于集合的操作中比较你的日期,那么时间差可以忽略不计。如果你在基于循环的东西(光标或其他东西)中进行检查,那么你就是在浪费时间。
这听起来并不适用于您,但是为了将来的参考,一定要考虑到客户端和数据库服务器处于不同时区的可能性。根据为其生成数据的时区,以一种或另一种方式执行此操作可能会更安全。
发布于 2011-12-20 00:57:58
在VB.Net中执行"Now“肯定比访问数据库更快。
https://stackoverflow.com/questions/8564620
复制相似问题