当前位置: 首页 > 面试题库 >

在Oracle中强制使用索引

孔深
2023-03-14
问题内容

我在一次采访中遇到了这个问题,不知道如何回答:

有一个表在列上有一个索引,您可以查询:

select * from table_name where column_having_index="some value";

该查询花费的时间太长,您发现该索引没有被使用。如果您认为使用索引将使查询的性能更好,那么如何强制查询使用索引呢?


问题答案:

您可以使用优化程序提示

select /*+ INDEX(table_name index_name) */ from table 等等…

有关使用优化程序提示的更多信息:http
:
//download.oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm



 类似资料:
  • 本文向大家介绍Oracle使用强制索引的方法与注意事项,包括了Oracle使用强制索引的方法与注意事项的使用技巧和注意事项,需要的朋友参考一下 Oracle使用强制索引 在一些场景下,可能ORACLE不会自动走索引,这时候,如果对业务清晰,可以尝试使用强制索引,测试查询语句的性能。 以EMP表为例: 先在EMP表中建立唯一索引,如图。 普通搜索: 查看执行计划: 可以看到,是走的全表扫描。 使用强

  • 问题内容: 我试图强迫MySQL使用两个索引。我正在加入一个表,我想利用两个索引之间的交叉。具体术语是“使用相交”,这是指向MySQL文档的链接: http://dev.mysql.com/doc/refman/5.0/zh-CN/index-merge- optimization.html 有什么办法可以强制实施吗?我的查询正在使用它(并且它加快了速度),但是现在无论出于何种原因它都停止了。 这

  • 我试图使用Auth在我的Kohana应用程序中强制使用强(er)密码,方法是使用以下正则表达式要求至少一个大写字母、一个小写字母、一个数字、一个非字母数字(特殊字符)和至少8个字符。 正则表达式正在工作,正如在Rubular上可以看到的那样。这是我在Kohana的Model\u Auth\u User中使用的代码,它扩展了ORM。 但是,当创建一个新的用户帐户或更改现有帐户的密码时,这个正则表达式

  • 问题内容: 我正在尝试为Express.js创建一个中间件,以将所有非安全(端口80)通信重定向到安全SSL端口(443)。不幸的是,Express.js请求中没有任何信息可让您确定该请求是否来自http或https。 一种解决方案是重定向 每个 请求,但这不是我的选择。 笔记: 没有可能用Apache或其他东西来处理它。它 必须 在节点中完成。 应用程序中只能启动 一台 服务器。 您将如何解决?

  • 问题内容: 我刚在德国Windows计算机上安装了JDK7,我注意到的第一件事是,与JDK6不同,它在操作系统和某些消息(例如,来自工具的帮助消息而不是来自编译器的错误消息)之后是德语的。我如何强迫它到处使用英语?AFAIK安装程序不是特定于语言的,并且安装过程中的所有消息均为英文。 问题答案: 你是说javac?尝试设置参数。参见这篇文章:通过ant将“-J-Duser.language”传递到

  • 表名称:传输 列:标识符、键、传输号、名、姓 Transfer的表复合主键是:标识符、键、Transfer_编号 传输的表索引INDEX1定义:标识符ASC、键ASC、传输号ASC 转移波乔 波乔 检索传输的代码 我能够从数据库中获取数据,没有任何问题,HQL是 虽然我们使用了索引注释,但JPA仍然没有使用传输表(INDEX1)中定义的索引,因此检索需要更多时间。 如何强制JPA使用索引顺序。非常