上下文:移动笔记应用程序连接到Windows Azure移动服务。 (Sql Server Azure)在SqlServer中的用户之间共享表格行Azure
目前我有2个表:用户&注意事项。
用户通过查询Notes表并询问具有与其自身相匹配的用户ID的所有备注来下载其各自的备注。
例子:
SELECT * FROM Notes WHERE userID = myID;
但现在我希望我的用户能够在它们之间分享笔记,所以......
我想增加一个“SharedList” &“SharedListMember”表,其中每个笔记将在SharedListMember子表上与其各自的共享成员共享一个列表。
例子:
SELECT DISTINCT n.* FROM Notes n LEFT OUTER JOIN SharedList l ON n.list = l.id INNER JOIN SharedListMember lm ON l.id = lm.list WHERE (lm.memberID = myID OR n.userID = myID)
我添加了一个LEFT OUTER JOIN,因为不是所有的任务将被共享。
我会在Notes.list,SharedList.id(主键),SharedListMember.memberID添加索引,SharedListMember.list
问题: 我多少对性能的影响可以期待与此设置?有更快的方法吗? 我目前在不到一秒的时间内查询了大约1000个笔记。如果我有1000万笔记,会发生什么?