随着时间的推移,SQL close close 数据差距
我有一个用于原型的游戏数据表。我在工作时生成数据,但是当我离开并且我的机器进入睡眠状态时,数据生成就会停止。这导致我的收藏品出现了很大的缺口。
我希望能够移动表的 DateTimeCreated
列中每个项目的值,以便任何项目与下一个生成的项目之间的间隔不超过 10 分钟。
表的结构是这样的:
CREATE TABLE [dbo].[Items](
[Id] [uniqueidentifier] NOT NULL,
[DateTimeCreated] [datetimeoffset](7) NOT NULL,
[AuthorId] [uniqueidentifier] NOT NULL,
[Source] [varchar](max) NOT NULL,
[FullText] [varchar](max) NOT NULL,
CONSTRAINT [PK_Items] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
我正在考虑在 L2S 中执行此操作,但我有超过 100 万条记录,所以我不知道这是否是最佳解决方案(迭代每个项目)。我知道必须有某种方法可以在 SQL 中更快地完成此操作。
I have a table of play data that I'm using for a prototype. I'm generating the data while I'm at work, but when I leave and my machine goes to sleep, the data generation stops. This has cause large gaps in my collection of items.
I would like to be able to shift the values of each item in the DateTimeCreated
collumn of my table so that there isn't a gap of more than 10 minutes between any item and the next generated item.
The structure of the table is like this:
CREATE TABLE [dbo].[Items](
[Id] [uniqueidentifier] NOT NULL,
[DateTimeCreated] [datetimeoffset](7) NOT NULL,
[AuthorId] [uniqueidentifier] NOT NULL,
[Source] [varchar](max) NOT NULL,
[FullText] [varchar](max) NOT NULL,
CONSTRAINT [PK_Items] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
I was thinking about doing this in L2S, but I have over 1 million records, so IDK if that is the best solution (iterating over each item). I know there has to be some way to do this in SQL that will be much faster.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
另一种排名函数方法(未经 100% 测试):
An alternative Ranking-Functions Approach (not 100% tested):
如果您希望它是猪以外的任何东西,请确保在
DateTimeCreated
上有一个索引。它还假设(正如您在评论中所说)与记录总数相比几乎没有差距。
Make sure to have an index on
DateTimeCreated
if you want this to be anything other than a pig.It also assumes (as you said in your comment) there are few gaps compared to total number of records.