在SQL中

时间:2019-03-01 16:40:39

标签: sql sql-server entity-framework tsql sql-server-2016

我对SQL中的结构有一个想法,但不了解它的好坏,请帮帮我。

我的应用程序具有很多表,它们具有相似的列(creatorUserId,creatingDate,类型...),并且所有它们(表)与其他人及其本身具有n对n的关系。

似乎所有表都是从基表派生的,该基表包括相似的列和一个标识列。我调用了基表Content,并添加了具有2列(ContentParent_Id,ContentRelated_Id)的“ Contents”关系表。

Content表中的ID列是标识,其他所有表与Content表具有一对一的关系。

还添加了几个表来管理所有表的通用属性,例如显示顺序,删除状态,验证状态,访问次数等。

db diagram sample 问题:

  1. 我应该添加一对一的关系和表以及ContentTable,这不是SQL的重载吗?

  2. 当我执行选择“读取与人相关的内容”的查询时,它比与人和书中添加n2n关系的读取要慢。为什么?

  3. 当使用带有此代码的Entity Framework执行查询并在SQL Server Profiler中查看结果时,这将显示具有许多未使用列的表。为什么?

     DB.Set<T>()
       .Include(q => q.Content)
       .Include(q => q.Content.ContentOrder)
       .Include(q => q.Content.ContentDelete)
       .Where(q => q.Content.ContentDelete.isDelete != 1)
    
  4. 请分享所有可改善此结构性能的建议

谢谢。

0 个答案:

没有答案