在SqlServer Azure中的用户之间共享表行

牧师

上下文:连接到Windows Azure移动服务的移动笔记记录应用程序。(SQL Server Azure)

目前,我有2个表:Users&Notes。

用户通过查询Notes表并请求所有userID与自己的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个笔记。如果我有一千万张钞票会怎样?

亚当

使用此SQL查询,您可能不会注意到对1000万个笔记没有影响。

如果您的笔记包含附件和对数据库的SQL查询调用的延迟,则瓶颈将是带宽回到您的应用程序,因此请尽可能在本地缓存,并在应用程序中进行实际的Async调用。

这是一种情况,请不要过度优化不会引起问题的解决方案。SQL Azure经过高度优化,在某些表中有数百万行,并且查询返回的时间不到一秒钟,并且比上面显示的查询要复杂得多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

sqlserver中的浮点值

来自分类Dev

卡在 Powershell sqlserver 中

来自分类Dev

在 Sqlserver 中订阅

来自分类Dev

在sqlserver中获取数据之间的差异

来自分类Dev

SQL转置表-SQLServer

来自分类Dev

通过 Windows Azure 访问 sqlserver

来自分类Dev

SqlBulkCopy到SqlServer 2008中的临时表

来自分类Dev

SqlBulkCopy到SqlServer 2008中的临时表

来自分类Dev

从SqlServer中的表读取Null DateTime列

来自分类Dev

sqlserver中的Oracle联接查询

来自分类Dev

在SQLserver中添加时间戳记

来自分类Dev

sqlserver中的Oracle联接查询

来自分类Dev

在 Sqlserver 中设置出现次数

来自分类Dev

不接受 sqlserver 中的 EXISTS

来自分类Dev

如何使用Ecto插入SqlServer表?

来自分类Dev

ExecuteNonQuery()无法创建临时表SqlServer

来自分类Dev

SQLServer-使用组透视表

来自分类Dev

单行上的SQL表的结果(SQLServer)

来自分类Dev

ExecuteNonQuery()无法创建临时表SqlServer

来自分类Dev

查找表上的sqlserver外键约束

来自分类Dev

将 IISLog 数据导入表 Sqlserver

来自分类Dev

在python中从SqlServer 2008中获取日期

来自分类Dev

SQLServer查询中的用户定义函数不起作用

来自分类Dev

如何将字典存储在SQLServer用户定义类型中?

来自分类Dev

C#中的SqlServer校验和

来自分类Dev

mysql / sqlserver中截断与删除的比较

来自分类Dev

在SQLServer中重命名表名

来自分类Dev

错误SQL中的Microsoft.SqlServer.ConnectionInfo

来自分类Dev

在标量子查询中创建别名-SQLServer