哪个更快:来自VB.NET或DB2 SQL的当前日期

时间:2011-12-19 16:52:23

标签: sql vb.net performance date db2

我正在制作一个项目,要求我删除数据库中的记录(如果他们至少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中进行设置,以便它只检索日期并将其转换一次,但我不确定每次从这些语句中获得什么样的性能。

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果你正在调用数据库的所有内容都是获取日期的话,那么在客户端获取它并避免往返数据库会更快。

如果您在服务器端执行此操作,并且您在单个基于集合的操作中比较日期,则其时间差异可以忽略不计。如果您检查基于循环的内容(光标或其他内容),那么您将浪费时间。

这听起来并不适用于您,但为了将来参考,请务必考虑客户端和数据库服务器位于不同时区的可能性。根据生成数据的时区,以一种方式或另一种方式执行它可能更安全。

答案 1 :(得分:0)

做一个&#34;现在&#34;在VB.Net中肯定比访问数据库更快。