我对如何为临时存储错误消息创建表存在怀疑。在短时间内存储大量数据时的主键
- 大量插入和删除
- 一个GUID作为外键,可能会被左外连接
- 简单nvarchar的字段中的ErrorMessage
其中主键,如果有的话,我应该使用索引在短时间内存储大量数据吗?
感谢
我对如何为临时存储错误消息创建表存在怀疑。在短时间内存储大量数据时的主键
其中主键,如果有的话,我应该使用索引在短时间内存储大量数据吗?
感谢
我不同意Jay - 请查看Kim Tripp的The Clustered Index Debate continues。
在其他方面,她说,有一个良好的主 /集束键(上INT IDENTITY列 - 不 GUID列)实际上会加快您的插入和删除。
所以,即使你只在短时间内使用你的表格,建议有一个TableID INT IDENTITY(1,1) PRIMARY KEY
列来获得一个好的,快速的主键和聚集索引,以及尽可能少的其他索引(因为那些肯定会减慢插入)。
根据您将GUID列作为外键引用的频率,您可能还想在其中添加索引 - 因为它会加快查找的速度。
如果您批量加载大量数据(说:一次成千上万的行),您也可以考虑在加载之前删除该索引,并在数据加载后重新创建它(这可能会比始终提供的速度更快) - 但是,这又取决于您正在加载的数据量和频率。
Marc
我把索引你的GUID国外ID字段,因为你将要查找基于这样的错误。 至于主键。你还没有提到强制需要主键的需求。这只会增加额外的开销。 但是,您可能需要进行排序,因此您需要数字字段或日期字段。我建议只需在表格中添加一个数字字段,以便您可以根据创建的订单错误消息进行排序。但是你可能不需要将该领域作为主要领域,因为数据不会持续太久。
您是否考虑过消息而不是数据库能否更好地满足您的需求? – RichardOD 2009-08-25 14:17:49
我很受这个设计的限制,不幸的是 – maxbeaudoin 2009-08-25 14:30:10