论坛首页 编程语言技术论坛

Active Record如何实现lazy load的?

浏览 9007 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-02-01  
刑天战士 写道
缓存太大的对象恐怕不好吧……比如资讯,有可能某些资讯(PDF格式)的content可以达到1MB以上,把这么大个东西放在缓存里面会会拖垮服务器的……

PS:我发这么FC的帖子没被投新手,实在是万幸……


为什么不把文件保存在硬盘上面,而非要弄到数据库里面去呢?这是对性能伤害非常严重的一种用法。
0 请登录后投票
   发表时间:2007-02-01  
robbin 写道
刑天战士 写道
我的意思是,我只需要某些属性的lazy load,比如,一个Attachment,大多数情况下,我只需要它的文件名等信息,只有再下载的时候才需要他的内容,这样,我就需要把content这个属性lazy load,如何实现?


Hibernate的属性lazy功能你成功的使用过吗?

Hibernate 都不支持这功能?
0 请登录后投票
   发表时间:2007-02-01  
Hibernate支持,但是需要重新编译整个工程,加入对字节码增强的支持,挺麻烦的,关键是重编译整个工程有时候是不现实的……不过我总觉得一个Post中的content就应该是他的属性,这样生造一个post_body对象好吗?
0 请登录后投票
   发表时间:2007-02-01  
刑天战士 写道
Hibernate支持,但是需要重新编译整个工程,加入对字节码增强的支持,挺麻烦的,关键是重编译整个工程有时候是不现实的……不过我总觉得一个Post中的content就应该是他的属性,这样生造一个post_body对象好吗?

拆除去之后也还是他的一个属性,只是属性的类型变了,从对象的角度说没什么不好.数据库结构看着稍微差点,不过为了性能,这样做还是值得的,鱼和熊掌不能兼得.
0 请登录后投票
   发表时间:2007-02-01  
刑天战士 写道
Hibernate支持,但是需要重新编译整个工程,加入对字节码增强的支持,挺麻烦的,关键是重编译整个工程有时候是不现实的……不过我总觉得一个Post中的content就应该是他的属性,这样生造一个post_body对象好吗?

这么麻烦,静态语言毕竟是静态语言啊。
0 请登录后投票
   发表时间:2007-02-02  
[quote="
0 请登录后投票
   发表时间:2007-02-02  
刑天战士 写道
缓存太大的对象恐怕不好吧……比如资讯,有可能某些资讯(PDF格式)的content可以达到1MB以上,把这么大个东西放在缓存里面会会拖垮服务器的……

PS:我发这么FC的帖子没被投新手,实在是万幸……


当然缓存一方面要看是什么东西,另一方面要注重命中率的设计。

PS: 没有一个人是圣贤

我发贴怎么老乱码呢?改都改不过来,麻烦 BZ 删除一下。
0 请登录后投票
   发表时间:2007-02-02  
robbin 写道
就拿posts表来说,如果不拆,整个表存储空间很大,count一次在我本地电脑都需要8秒种,但是把text字段拆出去以后,count一次只需要0.4秒。

那是否有考虑过拆开之后读取时联合查询带来的更大的开销呢?除非应用缓存。

另外,count 这样的操作发生概率不大啊,而且我们可以把它缓存到上级。而且数据库对 count 也是有优化的。

我觉得有必要看看 JiveJdon 的实现。
0 请登录后投票
   发表时间:2007-02-02  
灵异事件: 我发完 16 楼帖子,发现是乱码,改都改不过来。于是在 17 楼重发。接着发 18 楼帖子,发完之后发现 16 楼帖子就变成下面这个样子了

[quote="

发现 JavaEye 经常出现莫名其妙的 bug。
0 请登录后投票
   发表时间:2007-02-02  
刑天战士 写道
Hibernate支持,但是需要重新编译整个工程,加入对字节码增强的支持,挺麻烦的,关键是重编译整个工程有时候是不现实的……不过我总觉得一个Post中的content就应该是他的属性,这样生造一个post_body对象好吗?

是重新编译PO,不是整个工程

那是java本身的问题
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics