Sql server 数据库设计征求意见

Sql server 数据库设计征求意见,sql-server,database-design,optimization,Sql Server,Database Design,Optimization,我需要存储模式的条目,如(ID:int,description:varchar,updatetime:DateTime)。ID是唯一的主键。使用场景是,我将经常插入新条目,经常按ID查询条目,不经常删除过期条目(按updatetime字段,每天使用另一个SQL作业运行以避免数据库不断增加)。每个条目的大小为0.5k 我的问题是如何在我的场景中优化数据库模式设计(例如添加索引、事务/锁级别或其他选项的技巧)以提高性能?目前我计划将所有信息存储在一个表中,不确定这是否是最佳选择 顺便说一句:我使用的

我需要存储模式的条目,如(ID:int,description:varchar,updatetime:DateTime)。ID是唯一的主键。使用场景是,我将经常插入新条目,经常按ID查询条目,不经常删除过期条目(按updatetime字段,每天使用另一个SQL作业运行以避免数据库不断增加)。每个条目的大小为0.5k

我的问题是如何在我的场景中优化数据库模式设计(例如添加索引、事务/锁级别或其他选项的技巧)以提高性能?目前我计划将所有信息存储在一个表中,不确定这是否是最佳选择

顺便说一句:我使用的是SQLServer2005/2008

提前感谢,,
George

除了主键之外,只需在updatetime上添加索引。

您的ID是主键,并且它自动具有索引。 您可以在另一个索引中输入过期日期。索引 将帮助您进行搜索,但会降低性能 插入、删除和更新时。无论如何,一个索引不是 一个问题

这听起来有点奇怪——我并不是说这是一个错误- 所有信息都在一个表中。重新考虑这一点。
看看你是否可以重构一些东西。

这听起来很简单,除了可能按照OMax的建议在updatetime上添加索引(我推荐)

如果您还想通过描述获取项目,您也应该考虑该列上的文本索引或全文索引。


除此之外,您已经准备好了:)

您将所有内容存储在一个表中的决定需要重新考虑。只有一个表可以很好地模拟的主题很少

仅仅使用一个表所产生的问题通常比不创建正确的索引之类的东西所产生的问题更不明显

我对“描述”栏(字段)感兴趣。所有的描述都描述了同样的事情吗?您是否检索过描述集,而不是一次只检索一个描述?如何将描述分组到集合中

如何知道要检索的描述的ID?您是否将ID的副本存储在某个位置,以便参考您想要的副本

你知道什么是外键吗?您选择不在此表中包含任何外键是故意的吗


在您知道单表设计是否真正适合您的情况之前,需要回答以下几个问题。

谢谢,1。你对索引有什么建议?在到期日或到期日制作另一个索引?2.你能告诉我为什么我应该在多个表中包含所有数据吗?当然。第二个索引是关于到期日期的。考虑重构数据。如果在某个列中重复了任何数据(这是一个枚举),则可以使用此数据创建另一个表。例如,一个田野国家。然后,您可以在主表中仅显示国家代码,在另一个表中显示国家列表。主表将更小,因为您不保存重复,只保存外键。谢谢@Luixv!把所有东西都放在一张桌子上就可以了?我存储的是我的web应用程序上的用户活动(日志)。我认为您所做的一切都是正常的。在不同的表中保存信息的唯一可能点是使用一个辅助表,其中包含发送请求的页面名称(即index.html)。不管怎样,我不认为这有什么大区别。@Luixv,按照你的建议使用辅助表有什么好处吗?我认为使用另一个表会降低性能。将所有内容存储在一个表中可以吗?我在web应用程序上存储的是用户活动(日志)。如果表很简单,我会说是。对于大型文本字段,数据库将它们存储在单独的数据源中,因此仅为文本字段拆分表不会添加任何内容。“一个单独的数据源”--您指的是数据库(比如文件系统?)或其他数据库表以外的东西?2.“仅为文本字段拆分表不会添加任何内容”--不明白您的意思,如果文本列很大,为什么拆分没有帮助?你能用别的词表达你的观点吗?嗨,Walter,ID只是一个递增的整数,description是当前网页的标题——所以一次只需要一个描述,每次,我只需要按ID列精确匹配随机检索其中一个(不需要检索所有描述)。一般来说,使用外国产品是一种很好的设计,但我在目前的需求中没有看到任何需求。如果你需要更多的信息给我好的建议,请告诉我,谢谢!好的,听起来描述值都是同一类的,所以可以把它们都放在同一列中。技术术语是“来自同一领域的所有drwan”。ID和Updatetime似乎属于同一个表。所以我想你不需要超过一张桌子。现在我的问题是,为什么需要一个数据库?难道你不能将这三个字段存储在一个索引文件中吗?“drwan”应该是“draw”。啊!