该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-27
ltian 写道 用户可不追求代码的优雅,用户追求的是性能和稳定,如果哪位用Hibernate做过处理百万数据以上的复杂计算,比如说电力或者电信的客户算费系统,而且能够获得用户在性能方面的肯定,能让我们学习一下也是好的!
用hibernate调用存储过程 |
|
返回顶楼 | |
发表时间:2007-04-27
daquan198163 写道 ltian 写道 用户可不追求代码的优雅,用户追求的是性能和稳定,如果哪位用Hibernate做过处理百万数据以上的复杂计算,比如说电力或者电信的客户算费系统,而且能够获得用户在性能方面的肯定,能让我们学习一下也是好的!
用hibernate调用存储过程 百万数据并不算很大,社保系统动辄千万以上,这还是一个月的数据量。 |
|
返回顶楼 | |
发表时间:2007-04-27
林秋枫 写道 daquan198163 写道 ltian 写道 用户可不追求代码的优雅,用户追求的是性能和稳定,如果哪位用Hibernate做过处理百万数据以上的复杂计算,比如说电力或者电信的客户算费系统,而且能够获得用户在性能方面的肯定,能让我们学习一下也是好的!
用hibernate调用存储过程 百万数据并不算很大,社保系统动辄千万以上,这还是一个月的数据量。 比JDBC恶心多了。 |
|
返回顶楼 | |
发表时间:2007-04-27
Arthas.Hui 写道 林秋枫 写道 1.未确定的表就是指即使在运行的时候也还是不能确定的表。比如你要把一张表的数据导出成xml文件,相关的映射方式在保存在配置文件中的。就是在运行的时候,这次你导出的是a表,下次运行导出的可能就是C表。永远不能确定使用的是哪张表,也不可能确定是哪个类了。除非动态生产class,动态加载。
用jdbc根本不用hard coded每个相关表的细节。就是操作表的sql是根据配置文件动态产生的。所以新增加一个字段或者少一个字段,甚至换表都只需要修改配置文件就可以了。根本不用改代码。 2.实际应用中,有需要对两张千万级别的表所有记录的某个类似属性进行比对,得出比对统计结果。 jdbc绝对没有问题。不知道Hibernate怎么实现,难道把所有数据都缓存吗?还是用什么方法? 具体的例子阿。。。等着你的例子呢。。。。 简单的例子,你要把一个表里面的是数据导出成xml或者insert的sql脚本。 比如在配置文件里面: <table> t1 </table> <colume1> code </colume1> <colume2> name </colume2> <condition> code!=1000 </condition> 你在代码里面很容易生产动态的sql语句:select config.get("colume1"),config.get("colume2") from config.get("table") where config.get("condition") rugu如果用户要改成其他的表或者字段,只需要修改配置文件即可。 |
|
返回顶楼 | |
发表时间:2007-04-27
林秋枫 写道 Arthas.Hui 写道 林秋枫 写道 1.未确定的表就是指即使在运行的时候也还是不能确定的表。比如你要把一张表的数据导出成xml文件,相关的映射方式在保存在配置文件中的。就是在运行的时候,这次你导出的是a表,下次运行导出的可能就是C表。永远不能确定使用的是哪张表,也不可能确定是哪个类了。除非动态生产class,动态加载。
用jdbc根本不用hard coded每个相关表的细节。就是操作表的sql是根据配置文件动态产生的。所以新增加一个字段或者少一个字段,甚至换表都只需要修改配置文件就可以了。根本不用改代码。 2.实际应用中,有需要对两张千万级别的表所有记录的某个类似属性进行比对,得出比对统计结果。 jdbc绝对没有问题。不知道Hibernate怎么实现,难道把所有数据都缓存吗?还是用什么方法? 具体的例子阿。。。等着你的例子呢。。。。 简单的例子,你要把一个表里面的是数据导出成xml或者insert的sql脚本。 比如在配置文件里面: <table> t1 </table> <colume1> code </colume1> <colume2> name </colume2> <condition> code!=1000 </condition> 你在代码里面很容易生产动态的sql语句:select config.get("colume1"),config.get("colume2") from config.get("table") where config.get("condition") rugu如果用户要改成其他的表或者字段,只需要修改配置文件即可。 这个例子太无聊了。。。 <class> t1 </class> <property1> code </property1> <property2> name </property2> <condition> code!=1000 </condition> 你在代码里面很容易生产动态的hql语句:select a.config.get("colume1"),a.config.get("colume2") from config.get("table") a where config.get("condition") 如果用户要改成其他的表或者字段,只需要修改配置文件即可。 |
|
返回顶楼 | |
发表时间:2007-04-27
......解决什么问题就用什么工具.有必要一个工具用到底不?
|
|
返回顶楼 | |
发表时间:2007-04-27
我觉得最主要的,还是看你倾向于开发效率还是运行效率
|
|
返回顶楼 | |
发表时间:2007-04-27
不趋向于具体那一种
看实际情况了 |
|
返回顶楼 | |
发表时间:2007-04-28
mmwy 写道 我觉得最主要的,还是看你倾向于开发效率还是运行效率
开发效率和运行效率两者并没有逻辑冲突, 没做到,不代表不能做到。 |
|
返回顶楼 | |
发表时间:2007-04-28
ltian 写道 用户可不追求代码的优雅,用户追求的是性能和稳定,如果哪位用Hibernate做过处理百万数据以上的复杂计算,比如说电力或者电信的客户算费系统,而且能够获得用户在性能方面的肯定,能让我们学习一下也是好的!
用dbcoat, 它为你提供超越jdbc速度,尤其你要处理十万,百万和千万级别的数据时。 dbcoat提供jdbc一样批量数据插入,更新的操作, dbcoat提供为大批量查询结果提供分段cache。 详细信息访问: http://sourceforge.net/projects/dbcoat |
|
返回顶楼 | |