select-n-plus-1

    1热度

    1回答

    我有一对夫妇的数据类: public class RecordGroup { public virtual DataRecord RootDataRecord; } public class DataRecord { public virtual string Name { get; set; } public virtual RecordGroup Rec

    2热度

    2回答

    考虑以下简化域: public class Movie { public virtual int Id { get; set; } public virtual MovieDetail MovieDetail { get; set; } } public class MovieDetail { public virtual int Id { get; set

    0热度

    1回答

    我有实体这样的: public class User { public virtual int Id { get; set;} public virtual Iesi.Collections.Generic.ISet<Character> Characters { get; set; } } public class Character { public v

    4热度

    4回答

    我对数据库并不熟悉,刚刚阅读了"n+1 selects issue"。我的后续问题:假设数据库驻留在与我的程序相同的机器上,缓存在RAM中并正确编制索引,为什么n + 1查询模式很慢? 举个例子,让我们的代码从接受的答案: SELECT * FROM Cars; /* for each car */ SELECT * FROM Wheel WHERE CarId = ? 随着我的数据库高

    1热度

    1回答

    我有这种映射(它来自的AdventureWorks因为我用它在一个演示应用程序的自动寻呼集合) ModelMapper mapper = new ModelMapper(new SimpleModelInspector()); mapper.Class<Contact>( k => { k.Id(i => i.ContactID, m => m.Ge

    4热度

    1回答

    我有一个在生产环境中作为服务运行的应用程序,但我们用一个简单的GUI进行了一些手动测试 - 实际上没有任何进展,它只是一个包含输入文本框的包装。 最近,我改变了我的数据库架构和更新我的映射匹配,然后突然GUI工作很慢的一个小例子。经过一番记录和多次运行它,它变成了新的瓶颈是此查询: public void Refresh() { using (var session = _sessio

    19热度

    2回答

    编辑我为这一个问题改写了整个项目。因此,我重新提出了这个问题。 我希望能够有效地避免N + 1和笛卡尔连接在第三级上将复合键与4级深度实体连接在一起。 我正在寻找这个只在几个查询中完成,而不是延迟加载,而不是只是将所有表连接在一起。 A - (多) - >乙 - (多) - “ç - (复合材料,单) - > d 是这样的: Select * From A Left Join B On A.Id

    2热度

    1回答

    我有一个(足球)游戏数据库,包含周期(例如第一个和第二个一半)的子表,事件(例如目标,警告)和位置(您先前的位置到和在比赛期间)。 要显示父游戏表,我使用的是CursorLoader,像这样适当的参数: public Loader<Cursor> onCreateLoader(final int id, final Bundle args) { ... if ((mGamesD

    0热度

    1回答

    我有四个型号 集团 报告 评论 用户 组=>的has_many =>报告 报告=>的has_many =>评论 注释=> belongs_to的=>用户 当我想显示一组我这样做 <%= @group.name %> <%= @group.reports.includes(:comments).each do |report| %> <%= report.name %> <

    3热度

    1回答

    该查询被执行的问题是: from PurchaseOrder o join fetch o.basket where o.statusE in (:statuses) 映射中的PurchaseOrder: @OneToOne(mappedBy = "basket", cascade=CascadeType.ALL, fetch = FetchType.LAZY, optional = fals