1
10
当你说日期是独一无二的时候,你是说你 认为 它们将是唯一的,或者它们的唯一性是由问题的陈述来保证的?根据我的经验,有些事情并没有想象的那么独特(美国社会保险号码就是一个例子)。 如果日期值不保证唯一,则应添加整数键。 如果日期值被保证是唯一的,它们会改变吗?如果它们确实发生了更改,那么它们是否被其他表引用?如果两个答案都是“是”,您可能应该添加整数键。 如果保证日期值是唯一的,并且不更改或不被引用,则可以将其用于键。常规日期时间为8字节,标准整数值为4字节,这可能对索引产生轻微影响。如果日期值只是日期,或者精确到分钟或更少,并且在类型允许的更受限制的范围内,则可以使用smalldatetime并将这些索引值减少到4个字节。 |
2
2
如果datetime值将由数据库ie填充:
…然后是的,使
…假设数据库没有提供@my_date_值-不,不理想。从数据库以外的任何地方获取的日期时间不能保证基于插入的数据是准确的。 |
3
1
不,你的直觉是正确的。只要没有人能把两个(或者我认为更多)同时发生的事件放在你的数据收集过程中,你就是个笨蛋。 |
4
1
如果您保证日期时间总是唯一的(考虑时间组件的分辨率),那么在日期时间列上创建主键是一个不错的选择。 如果只想增加日期时间,那么在主键列上创建聚集索引也是一个不错的选择。 |
ybou · 需要帮助从SQL 2005查询中删除过时的=*连接运算符 7 年前 |
Robert · 将多个分隔符分隔的字段视为不同的行 8 年前 |
hud · 执行存储过程会导致错误 8 年前 |
Gonzalo · 如何将存储过程的结果插入到新表中? 8 年前 |