`
381895649
  • 浏览: 230305 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

hibernate oracle hints 使用方法

 
阅读更多

最近公司的DBA整天在烦,大家都很清楚在烦些什么的了。数据库的性能问题。。总是跑过来跟我说,hk hibernate 可不可以加上一些oracle的特性hints啊?我说可以啊。。。。。。。。。。。下面的不说了,哈。下面来看具体hibernate 使用hints.

 

在hibernate中,怎么样使用hints?

hibernate 在创建Query时,其中有一个方法叫setComment(),我们就可以通过这个方法去开启hibernate 对 oracle的hints特性。具体例子

1.原生的hql

String hql = "from Stock s where s.stockCode = :stockCode";
List result = session.createQuery(hql)
.setString("stockCode", "7277")
.list();

 执行时输出下面的sql

Hibernate: 
    select
        stock0_.STOCK_ID as STOCK1_0_,
        stock0_.STOCK_CODE as STOCK2_0_,
        stock0_.STOCK_NAME as STOCK3_0_ 
    from mkyong.stock stock0_ 
    where stock0_.STOCK_CODE=?

 2.使用hibernate setcomment()

 

开启hibernate use_sql_comment的功能在配置文件里修改

<!-- hibernate.cfg.xml -->
<?xml version="1.0" encoding="utf-8"?>
...
<hibernate-configuration>
 <session-factory>
    ...
    <property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <property name="use_sql_comments">true</property>
    <mapping class="com.mkyong.common.Stock" />
  </session-factory>
</hibernate-configuration>

 下面使用hibernate hints的例子

String hql = "from Stock s where s.stockCode = :stockCode";
List result = session.createQuery(hql)
.setString("stockCode", "7277")
.setComment("+ INDEX(stock idx_stock_code)")
.list();

 输出下面sql

Hibernate: 
    /* + INDEX(stock idx_stock_code) */ select
        stock0_.STOCK_ID as STOCK1_0_,
        stock0_.STOCK_CODE as STOCK2_0_,
        stock0_.STOCK_NAME as STOCK3_0_ 
    from mkyong.stock stock0_ 
    where stock0_.STOCK_CODE=?

 本文章来自:http://blog.mkfree.com/posts/51f86d7c479eef767b508aad

0
0
分享到:
评论

相关推荐

    Hibernate Oracle sequence的使用技巧

    本文将详细介绍如何在Hibernate中使用Oracle sequence,以及在使用过程中应注意的一些事项。 首先,我们来看如何为不同的表创建各自的sequence。在Oracle数据库中,你可以通过SQL语句创建一个sequence,例如: ```...

    oracle hints详细介绍

    2. **连接方法Hints** - **Nested Loop Join (嵌套循环连接)**:使用`/*+ NESTED LOOPS(t1 t2) */`来强制执行器使用嵌套循环连接。 - **Hash Join (哈希连接)**:通过`/*+ HASH_JOIN(t1 t2) */`来强制执行器使用...

    oracle HINTS用法

    ### Oracle Hints用法详解 Oracle Hints是Oracle数据库中一种非常实用的功能,它允许用户在SQL语句中提供优化器提示,以便更好地控制查询执行计划。这些提示可以帮助数据库优化器选择更有效的路径来执行查询,从而...

    解析Oracle Hints.

    本文旨在详细介绍Oracle Hints的使用方法及其背后的原理,并通过具体的示例来展示如何利用Hints来提高SQL查询的效率。 #### Oracle数据库优化背景 在Oracle数据库中,SQL语句的执行效率直接影响着应用程序的整体...

    Oracle的hints调整机制介绍

    了解和正确使用这些hints,可以极大地提升Oracle数据库的查询性能,但也需要注意,过度依赖或不恰当使用hints可能会导致优化器无法做出最佳决策,反而降低性能。因此,在实际应用中,应结合统计信息、性能测试和理解...

    oracle-hints.rar_oracle

    压缩包内的文件“oracle hints.doc”很可能是一份详细的文档,详述了Oracle Hints的使用方法、类型、最佳实践以及可能遇到的问题和解决方案。 Oracle Hints的基本概念: 1. **Hint类型**:包括行源Hint(如FULL, ...

    Hints优化.pdf

    Oracle Hints在处理复杂SQL语句或特定类型的数据库操作时尤其有用,比如多表连接、子查询、排序、索引使用等。使用Hints可以为Oracle优化器提供更具体的执行计划,从而优化数据库性能。 Oracle 9i是一个广泛使用的...

    oracle sql 语句暗示 hints

    ### Oracle SQL 语句暗示 (Hints) 全面解析 #### 一、引言 在当前企业级应用环境中,为了实现成本控制与性能优化的目标,高效编写应用程序变得尤为重要。这不仅涉及程序的设计与实现,还包括运行时资源的有效利用...

    Oracle 常用 hints 说明

    hints 使用的好的話很好用。在进行sql执行过程中,由于有时候系统自动优化的方式并不是最优的。需要我们手工添加hint来提高查询效率。

    oracle_hints

    在本文中,我们将深入探讨Oracle中的hints机制,以及如何有效地使用它们来提升SQL查询性能。 Oracle Hints的基本概念: 1. **什么是Hints**:Hints是特殊形式的注释,它们嵌入在SQL语句中,向Oracle查询优化器提供...

    Oracle SQL Hints

    通过在SQL语句中嵌入特定的指令,即HINT,可以向Oracle优化器强制指示使用特定的访问路径、关联方法等,以便绕过优化器的默认选择,从而达到提高SQL执行效率的目的。 SQL Hints在Oracle SQL优化和调优中非常重要,...

    最完整的Toad For Oracle使用手册

    - **Using Automatic Check-in and Automatic Check-out**:讲解了自动签入和自动签出的使用方法。 - **Manually check-in or check-out**:提供了手动签入或签出的方法。 - **Entering Comments on Check in or out...

    oracle索引使用样例

    ### Oracle索引使用样例详解 #### 一、索引并行创建 在Oracle数据库中,并行创建索引可以显著提高创建索引的速度,尤其是在处理大量数据时。下面的SQL语句展示了如何并行创建一个索引: ```sql CREATE INDEX IDX_GD...

    Oracle 中HINT的使用

    例如,`/*+ INDEX(emp Emp_PK) */`指示Oracle使用名为Emp_PK的索引来处理emp表。 2. **HINT种类**:Oracle提供了多种HINT,包括INDEX、FULL、USE_NL、NO_INDEX、BULK COLLECT、NOSORT等。每种HINT都有其特定的用途...

    Oracle SQL语句方法

    ### Oracle SQL语句方法详解 在Oracle数据库管理与开发中,SQL(Structured Query Language)作为标准的数据查询语言,被广泛应用于数据检索、更新、管理等操作。为了优化查询性能,Oracle提供了多种SQL提示(Hints...

    oracle 启动过程详解

    这个过程可以通过 strings 命令查看 oracle 可执行文件中的字符文本,以获取更多的信息,例如一些 Oracle 未公开的 Hints 信息、数据库字典基表创建信息等。 启动数据库到 Mount 状态 在 Nomount 状态下,Oracle ...

Global site tag (gtag.js) - Google Analytics