【发布时间】:2016-08-28 04:49:42
【问题描述】:
我的数据库中有一个 Minutes 表,我想将所有 24 小时格式的分钟(从 00:00 开始)插入到该表中。我可以使用以下查询来做到这一点,但我希望找到一个更快的查询来代替我想出的这个非常基本的查询。
DECLARE @Start as Time(0) = CAST('00:00' as time)
DECLARE @ctr int = 0;
WHILE @ctr<>1440
BEGIN
INSERT INTO Minutes(Minute) VALUES(@Start)
SET @Start = DATEADD(minute, 1, @Start)
SET @ctr = @ctr + 1
END
上述查询有时会导致脚本超时。
【问题讨论】:
-
如果您只需要执行一次,为什么还需要更快的东西?但是,请看here
-
@TimSchmelter 我理解你的观点,但我有一个复杂的原因,我宁愿不详细说明问题的根源。 (这会使一个简单的问题复杂化)。让我们假设我需要一个更快的查询,因为黑魔王看到我低效的 sql 技能会生气。
标签: sql-server