你用的是SQLserver吧,SQLserver查询是把所有的都查出来再从你要的地方取值,这是它的一个特点

解决方案 »

  1.   

    micalormicalor2() 用的数据库是oracle,上面这位高人弄错了,请继续想想吧!
      

  2.   

    哎,csdn中看来是没高人啦, 走吧走吧......
      

  3.   

    用过hibernate但是没有处理过这么大的数据,帮定,学习,
      

  4.   

    关键是你思想的问题,你应该用QUERY.ADD(EXPRESSION.EQ(C.A,"DDDD"))
      

  5.   

    .setFirstResult(10000);
    用默认的, 不用去设置
      

  6.   

    to: sendmessage(zz)
    这句什么意思啊
      

  7.   

    to:osborne
    我不设置系统怎么知道该从那条记录开始取
      

  8.   

    1。你的数据真的有那么大吗?
    2。用hibernate生成的sql直接进行一次查询,看速度如何。
    这个应该用数据库端找原因。
      

  9.   

    1、from Cat as c,这么写不合适,这样HIBERNATE很有可能不使用索引检索数据,所以你第一条记录定位时很慢!我建议你这么写from Cat as c order by  c.xxxxx
    xxxxxx是用来索引的字段,这样就会快很多!2、我建议你将hibernate.show_sql设为true看看打出的SQL语句,然后将SQL语句在PLSQL里执行以下侃侃效率!hibernate.cglib.use_reflection_optimizer这个选项也有一定的影响,具体我忘记了!你反复设着试试!
    最好使用hibernate的最新版本并使用jdbc for jdk1.4的驱动。
      

  10.   

    你直接用SQL语句肯定快,因为是从第一条语句开始的!如果你这么写试一下1select * from cat where rowcount<10000 minus select * from cat where rowcount<10100这条语句执行后的结果和你的意图是一样的!如果在PLSQL里慢证明是索引的问题,你需要优化索引了!
      

  11.   

    to:blackhost(剑心)加了order by 结果一样
      

  12.   

    List l = q.list();
    将list换成iterator试一下!
      

  13.   

    你先把完全遗墨一样的SQL语句在plsql里执行一下侃侃效率,或者直接在ORACLE DBA里面看。我觉得数据库问题的可能性比较大!ORACLE分页程序都是这种写法,不应该是代码的问题。
      

  14.   

    to:bbqboy(喜欢编程的人)不是数据库的内存,我应用服务器的内存暴长
      

  15.   

    我设置了在tomcat后台打印SQL语句,但打出来的是“select from”程序就在此出错,执行的数据库查询操作,其他配置文件都给实列一样,单就是查询不成功,新增数据是没有问题的,请高手指点一二,谢谢,我的QQ:330764750,MSN:[email protected]