Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将作业详细信息保存在作业队列表本身中,还是将详细信息保存在单独的表中?_C#_Sql Server_Sql Job_Job Queue - Fatal编程技术网

C# 将作业详细信息保存在作业队列表本身中,还是将详细信息保存在单独的表中?

C# 将作业详细信息保存在作业队列表本身中,还是将详细信息保存在单独的表中?,c#,sql-server,sql-job,job-queue,C#,Sql Server,Sql Job,Job Queue,我目前正在设计一个模块,其中服务或控制台应用程序将从JobQueue表读取作业。我设计了JobQueue表,其中包含以下信息: JobId:int Primarykey 作业类型:int notnull 状态:varchar notnull CreatedOn:datetime不为空 LastModifiedOn:datetime可为空 CompletedOn:datetime可为空 JobType属性的引入主要是为了使该表更通用,而不是针对特定类型的作业。我的问题是,是将要执行的作业的详细信息

我目前正在设计一个模块,其中服务或控制台应用程序将从JobQueue表读取作业。我设计了JobQueue表,其中包含以下信息:

JobId:int Primarykey

作业类型:int notnull

状态:varchar notnull

CreatedOn:datetime不为空

LastModifiedOn:datetime可为空

CompletedOn:datetime可为空


JobType属性的引入主要是为了使该表更通用,而不是针对特定类型的作业。我的问题是,是将要执行的作业的详细信息保存在这个表本身中,还是保存在某个作业id引用它的其他表中?这是因为我在其他表格中有可用的数据。因此,在执行作业时,我们可以间接获取数据。为了避免重复信息,我想到了这样的事情。这是一个好方法吗?需要你的建议吗?

我在这里没有看到很多属性(也许你没有显示这些属性?)

我看到一个id(jobID)明确需要,类型和状态信息(看不出没有这些数据你怎么办。)


然后您就可以创建、修改和完成审核信息。我自己,我喜欢为谁创建和谁修改了一个字符串,但是我在我创建的每个表中都有审计信息。当您不确定发生了什么并且试图维护数据库时,它总是很有用。

将您拥有的任何数据保存在该表的“其他表”中。你需要考虑的是如何使用这些数据。
如果要显示某个索引作业,可以从中选择一个来查看详细信息,则可以通过两次单独的获取来获取数据。或者,如果需要获取与作业相关的所有数据(JobQueue表中的数据加上该“其他表”中的数据),则始终可以使用联接执行单个获取。我不认为将JobDetails数据保存在单独的表中会引起任何问题。

谢谢Hogan的回复。。我还在表中维护创建、修改的信息。但我的主要疑问是,是否要将作业执行所需的数据作为jobqueue表本身的一部分,还是作为其他表的一部分,因为我在其他表中有可用的数据,可以从这些表中获取这些数据。您在说什么数据?你的问题中没有显示的东西?是的,一些不在jobqueue表中的东西。但有了这些数据,工作就完成了。好吧,如果你展示了我可以评论的数据,但你似乎不想把它放在这个表中,你甚至没有把它包括在问题中。我迷路了。为什么要考虑将数据移动到此表中?我从未说过要将数据移动到此表中。数据只是作业执行所需的详细信息,它只是作业的输入。它是应用程序在运行时将插入到某个表(比如X表)中的内容。除了驻留在其他一些X表中之外,我不希望这些数据成为这个JobQueue表的一部分。我现在清楚了吗?