`
tovegar
  • 浏览: 31202 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate隐含参数问题。

阅读更多
在hibernate有些书中明确说明,hibernate如果含有隐参,例如:
select aa from AA aa where docChannel = and proState = ? dtsStatus = ?
1.安全;2.可以预加载,速度快。因此项目中都用到了隐含参数。可是在应用的过程中,明显的带有隐含参数的 HQL语句有问题,在百万级的ORACLE数据库中很多出现超时现象,于是翻查资料发现,有一句话这么说:
    如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。
     说明即使在查询的列已经建立索引,还是会引起全表扫描。
     再查找 超时的HQL语句,多数为带有子查询的隐含参数 语句,把隐参换成明参,速度立刻提升,大约比隐参提升有,40-100倍的速度。百思不得 其解。请大侠指教。
分享到:
评论
2 楼 tomgreenintel 2007-09-10  
隐参的效果是在数据库体现出来。
因为现在数据库都有缓冲池的概念。
用变量的sql可以避免硬解析。相似的sql可以提高查询速度
1 楼 wangweij 2007-09-03  
请贴出有问题代码及HQL

相关推荐

    java基础题

    Java基础题涵盖了许多Java开发中的核心概念和技术,包括面向对象特性、集合操作效率、字符串比较、Hibernate映射、编码解码、Spring的IoC、方法参数、抽象类和接口、异常处理、final修饰符、finally块、JSP隐含对象...

    Jsp实验报告

    ### JSP实验报告知识点概述 #### 一、Java Web 登录功能...其中包括了如何使用 Hibernate 进行数据库操作、如何处理中文乱码问题、如何实现验证码和水印功能等。这些内容对于学习 Java Web 开发具有重要的参考价值。

    浙江大学城市学院《J2EE架构与应用开发》期末考试试卷.pdf

    在 Struts 中,dispatchAction 可以根据请求中的参数不同,调用不同的函数,但是对应的函数不能返回空值。 18. Struts 中的标签库: 在 Struts 中,标签库是非常重要的组成部分,设计标签库时,通常需要设计对应的...

    JavaEE笔记1

    JavaBean是一种符合特定规范的Java类,它是可重用的组件,需要满足以下条件:类必须是公共的,具有公共无参数构造器,属性声明为private,具有对应的getter和setter方法。JavaBean在JavaEE开发中常用于封装业务数据...

    Java软件工程师课表.docx

    - JDK的新特性:如JDK5.0和JDK6.0引入的自动拆装箱、可变长参数等。 2. **数据库操作与管理**: - SQL语言:学习SQL的基本语法,如SELECT、INSERT、UPDATE、DELETE,以及IN、BETWEEN、LIKE等操作符。 - JDBC...

    java web 开发 经典笔记

    例如,`getParameter()`方法用于获取请求参数,处理乱码问题通常涉及到对请求参数进行编码转换,如使用`request.setCharacterEncoding("UTF-8")`来设置字符编码,防止下载文件时出现乱码。 2. **page对象**:这个...

    javaweb程序设计源代码(共20章)ch1

    可能涉及JSP指令(page, include, taglib)、脚本元素(声明、脚本块、表达式)和隐含对象的使用。 4. **JavaBean**:JavaBean是可重用的Java组件,常用于JSP中存储和传递数据。会介绍JavaBean的规范、创建及在JSP...

    java反射总结

    所有Java类的对象都隐含地持有一个 `Class` 对象,它代表了这个对象的类型。`Class` 类提供了获取类信息的各种方法,如 `getName()` 返回类的全名(包括包名)。 2. **实例化 `Class` 对象** - `Class.forName(...

    jsp实现简单的购物车系统

    这可以通过创建一个Servlet或者使用JSP的隐含对象`request`来接收HTTP请求参数,如商品ID。然后,我们使用session对象来存储购物车中的商品,因为购物车状态需要跨多个页面保持。 3. 购物车管理:用户可以在购物车...

    Java的struts2+MySQL+jsp实现登录、注册以及文件上传demo的jar包文件

    - **拦截器**:提供AOP(面向切面编程)功能,如参数校验、日志记录、权限控制等。 2. **MySQL数据库**: - **表设计**:包括用户表(username、password等字段)、文件信息表(file_id、user_id、filename、...

    大小企业java web方面的笔试题集锦

    5. 请求处理:HttpServletRequest和HttpServletResponse对象的使用,以及请求参数的获取和响应的设置。 6. JSP基本元素:指令元素(@page、@include、@taglib)、脚本元素(scriptlet、expression、declaration)和...

    JAVA程序开发技术

    - **使用**:设置参数值:`ps.setInt(1, id);`. **4.7 存取大容量数据** - **方法**:使用`Blob`和`Clob`处理大数据。 **4.8 ResultSet光标控制** - **方法**:`absolute()`, `relative()`, `previous()`等。 **...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用...

Global site tag (gtag.js) - Google Analytics