我有一个包含3列的表格:
int UserID
datetime WorkDate
string WorkDetail
每个用户每WorkDetail
只有一个WorkDate
。我正在使用L2S,我的where子句匹配UserID
和WorkDate
,如下所示:
where t.UserID == TheUserID && t.WorkDate.Date == TheDate.Date
我应该保持where参数的顺序吗?我应该索引日期还是userID
?
感谢。
答案 0 :(得分:1)
你真的应该在日期和用户ID上进行索引。至少,只需索引用户ID。
答案 1 :(得分:0)
暂时我会去找一个UserID索引。
如果您通过其他日期索引找到更好的效果,请继续创建。
如果您需要按日期搜索而不管用户是什么,则无法阻止您以后添加其他日期索引。
答案 2 :(得分:0)
如果你说每个用户都有1个日期详细信息,那么它应该是(userId,workDate)上的唯一索引
答案 3 :(得分:0)
如果每个用户只有一个WorkDate,那么将其作为数据库中的主键。它将强制执行数据完整性并一次性提供索引。