首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Slice<Results>是否仍然延迟加载在领域中?

Slice<Results>是否仍然延迟加载在领域中?
EN

Stack Overflow用户
提问于 2019-05-28 03:10:50
回答 1查看 829关注 0票数 0

我试图限制我的领域查询的结果。如果我有一百万张唱片,并调用Swift prefix函数,它会触及所有的一百万张唱片吗?

我想做的是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let objects = realm.objects(BookRealmObject.self)
    .sorted(byKeyPath: "createdAt", ascending: false)

let items: [BookType] = {
    guard let limit = request.limit, limit > 0 else {
        return objects.map { Book(from: $0) }
    }

    return objects.prefix(limit).map { Book(from: $0) }
}()

prefix返回的类型是Slice<Results<Element>>。无论调用方是否请求限制,我都需要将其转换为普通对象以传递给不同的线程。

这是正确的方法来处理这个问题,还是有一种更优化、更简洁的方法来做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-28 03:53:40

正如我们在文档中所能找到的

因为领域中的查询很懒,所以执行这种分页行为根本不需要,因为领域只在显式访问查询结果之后才会加载对象。

因此,当您获得对象的前缀时,它仍然应该是惰性的,但是当您使用map访问对象时,就失去了惰性特性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56340901

复制
相关文章
mybatis 延迟加载(懒加载)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
多凡
2019/11/01
2.1K0
ViewStub延迟加载
在项目中,难免会遇到这种需求,在程序运行时需要动态根据条件来决定显示哪个View或某个布局,最通常的想法就是把需要动态显示的View都先写在布局中,然后把它们的可见性设为View.GONE,最后在代码中通过控制View.VISIABLE动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源,虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Inflate,也就是说仍然会创建对象,会被实例化,会被设置属性。也就是说,会耗费内存等资源。
全栈程序员站长
2022/09/13
1.6K0
ViewStub延迟加载
Hibernate延迟加载
上一篇文章我们学习了Hibernate的多表关联关系,这里就涉及到一个很实用的概念:延迟加载或者也叫惰性加载,懒加载。使用延迟加载可以提高程序的运行效率。Java程序与数据库交互的频次越低,程序运行效率越高,所以我们应该尽量减少Java程序与数据库的交互次数,Hibernate延迟加载就很好的做到了这一点。
南风
2019/04/22
1.5K0
Hibernate延迟加载
图片延迟加载
官网:http://www.appelsiini.net/projects/lazyload 使用例子:http://demo.phpfs.com/lazyload/ 代码下载:lazyload 代码解析 $(function(){ var ERROR_IMG = './img/image_err.gif'; var LOADER_IMG = './img/lazy_loading.gif'; $("img").one("error", function() { $(this).attr("src
苦咖啡
2018/05/08
2.2K0
前端延迟加载
由于本人的码云太多太乱了,于是决定一个一个的整合到一个springboot项目里面。
ydymz
2018/11/09
1.1K0
WordPress图片延迟加载(懒加载)
如果不进行设置的话,一个页面会一次性加载所有的资源数据,考虑到不可能所有访客会全部将页面看完,也会导致流量的浪费,加载体验上有待提升。这里就采用延迟加载的方案。
Diuut
2022/11/22
2.5K0
WordPress图片延迟加载(懒加载)
BaseFragment 延迟加载lazyload
注意1:在某些时候setContentView(V)可能会引发null 异常就需要调用setContentView(V,T)
用户4458175
2020/02/12
1.3K0
MyBatis-延迟加载
就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。
星哥玩云
2022/09/14
1K0
Mybatis 延迟加载探究
Mybatis 是一个广泛用于 Java 应用程序中的持久层框架,它提供了一种方便的方式来管理数据库操作。在实际应用中,很多情况下我们需要处理大量的数据,而且并不总是需要一次性加载所有相关数据,这时候延迟加载(Lazy Loading)就显得尤为重要。本文将探讨 Mybatis 是否支持延迟加载,以及它的实现原理。
疯狂的KK
2023/09/26
4930
Mybatis 延迟加载探究
mybatis的延迟加载
OrderMapper.xml文件的配置: <!-- 2 延迟加载resultMap的配置 --> <resultMap type="com.shi.pojo.Order" id="selectOrderLazyLodingFindUser"> <!-- 对订单信息进行映射配置 --> <id column="id" property="id"/> <result column="user_id" property="user_id"/> <result column="number"
用户5927264
2019/07/31
1.2K0
MyBatis延迟加载(二)
除了基于代理对象的延迟加载外,MyBatis还提供了基于XML配置的延迟加载方式。在这种方式中,我们需要在MyBatis映射文件中为查询语句配置一个<resultMap>元素,并在该元素中为需要延迟加载的属性添加<association>或<collection>元素。这些元素用于指定需要延迟加载的关联对象属性和延迟加载类型。
堕落飞鸟
2023/05/15
4200
Hibernate之延迟加载
文章目录 1. hibernate之延迟加载 1.1. 什么是延迟加载 1.2. 好处 1.3. 如何使用延迟加载 1.4. 使用延迟加载需要注意的问题 hibernate之延迟加载 什么是延迟加载 在使用某些Hibernate方法查询数据的时候,Hibernate返回的只是一个空对象(除了id外属性都为null),并没有真正的查询数据库。而是在使用这个对象的时候才会出发查询数据,并将查询到的数据注入到这个空对象中,这种查询时机推迟到对象访问时的机制称之为延迟加载。 简单的说,使用延迟加载获取的对象,只
爱撒谎的男孩
2019/12/31
9330
hibernate延迟加载详解
hibernate延迟加载详解 Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hibernate 的运行性能。 下面先来剖析 Hibernate 延迟加载的“秘密”。 集合属性的延迟加载 当 Hibernate 从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化类一起初始化呢?如果集合属性里包含十万,甚至百万的记录,在初始化持久化实体的同时,完成所有集合属性
Java帮帮
2018/03/19
1.4K0
hibernate延迟加载详解
Mybatis的延迟加载
1.什么是延迟加载 在真正需要使用数据时才发起查询,不用的时候不进行查询。按需加载(懒加载) 2. 什么是立即加载 不管用不用,只要一调用方法,马上发起查询。
暴躁的程序猿
2022/03/23
7610
Mybatis的延迟加载
MyBatis延迟加载(一)
MyBatis是一个轻量级的ORM框架,它提供了多种方式来优化SQL查询。其中一种常见的优化技术是延迟加载(lazy loading),它允许在需要时才从数据库中加载相关的数据,从而避免不必要的性能损失和内存消耗。
堕落飞鸟
2023/05/15
5410
CNZZ延迟加载,解决加载缓慢问题
相信绝大部分的站长都是在站点上部署了CNZZ的站点访问统计吧,不过CNZZ的JS在每次加载页面的时候总是要加载那么1~3秒,甚至更长,其原因就是:本来页面都已经加载完成了,又非要多加载那么几秒,这样可能导致用户以为网站打开很慢呢,于是就会出现丢失访客等等一些列啪啦的问题。
墨渊
2018/05/11
3.1K4
jQuery scroll(滚动)延迟加载
延迟加载 $(window).scroll(function(){ var scrollHeight = $(document).height(); //文档高度 var scrollTop = $(this).scrollTop(); //滚动条卷去高度 var windowHeight = $(this).height(); // 窗口高度 // console.log(scrollHeight, scrollTop, windowHeight) if(scrol
deepcc
2018/05/16
9.1K0
Hibernate延迟加载 lazy loading
/**  *  * @author XHW  *  * @date 2011-7-18  *  */ public class HibernateTest {  public static void main(String[] args) {   new HibernateTest().update();  }  public void update(){   Session session=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();   session.beginTransaction();  Category category=(Category)session.get(Category.class, 1);   System.out.println("id:"+category.getId()+"  ,name:"+category.getName()+", description:"+category.getDescription());   Set<Product> products=category.getProducts();   session.getTransaction().commit();    } }
Hongten
2018/09/18
1.1K0
Hibernate 的延迟加载(懒加载)简介1
什么是延迟加载: 在使用某些Hibernate方法查询数据时,Hibernate返回的只是一个空对象(除id外属性都为null),并没有真正查询数据库。而在使用这个对象时才会触发查询数据库,并将查询到的数据注入到这个空对象中。这种将查询时机推迟到对象访问时的机制称之为延迟加载。 ---- 为什么要使用延迟加载: 可以提升内存资源的使用率 可以降低对数据库的访问次数 ---- 采用延迟加载的方法: session.load() 查询时不进行SQL查询,在使用对象时才执行SQL查询;效率高 query.i
qubianzhong
2018/08/10
1.4K0
ExcelVBA判断区域中是否有值并输入数据
Sub tfff() ActiveSheet.UsedRange.Interior.ColorIndex = xlNone Rng = Range("a1") Range(Rng).Interior.ColorIndex = 2 Range(Rng).Borders.LineStyle = xlContinuous i = 1 For Each r In Range(Rng) If r.Value = "" Then r.Value = i i = i + 1 End If Next End Sub
哆哆Excel
2022/10/25
1.2K0
ExcelVBA判断区域中是否有值并输入数据

相似问题

禁用延迟加载仍然加载相关实体。为什么?

21

我是否可以延迟加载更少的文件,并且仍然使用变量?

10

领域中不推荐使用results.remove()

46

在屏幕上键入"No Results Found“之前创建延迟

11

JPA EntityManager.detach()仍然加载延迟关系

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文