在Oracle中定义SQL查询。索引为啥不能直接从select语句中引用?求教,谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Oracle中定义SQL查询。索引为啥不能直接从select语句中引用?求教,谢谢相关的知识,希望对你有一定的参考价值。

oracle 可以强制索引,大部分情况还是让oracle的优化器自动找最优的执行计划的
select /*+index(table_name,index_name)*/ * from table_name where xxxx;追问

又是你,哈哈,可以解释的直白一点吗,谢谢啦,新手不太明白呢

追答

oracle在执行SQL的时候不用你去指定索引
你查询的是表或者视图,索引是建立在对应的表上的
当你去查询这个表的时候oracle会通过内部优化器去判断是否要用索引
如果执行计划觉得索引不好就不会用到

以上是oracle的内部机制

当然你也可以用我说的额强制索引,但是需要你对执行计划的判断理解超过oracle的优化器的情况下再用

参考技术A select 是表与表之间的查询 Oracle是数据库,select语句可以查询Oracle下面的所有数据列表追问

不太明白呢

为啥在oracle数据库中多条查询语句无法同时进行

条查询语句无法同时进行? 此话怎讲?
你用plsqldeveloper工具, 开多个窗口, 贴多个耗时的查询, 看能否执行?
如果不允许, 可能服务器配置中限制了相关参数.追问

哦 呵呵 ,谢谢你! 我是刚学oracle数据库的
使用sql语句进行查询时
发现它不能像sqlserver数据库一样选中两条查询语句然后执行

追答

按一下鼠标,确实不能执行2条普通的查询语句.

参考技术A 你在pl/sql下,把两天语句写好,以分号结尾,然后拷贝到command下执行就可以了

以上是关于在Oracle中定义SQL查询。索引为啥不能直接从select语句中引用?求教,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

oracle like模糊查询不能走索引?

为啥在oracle数据库中多条查询语句无法同时进行

mysql查询in为啥用不上索引

oracle用sql语句插入数据,为啥老是显示正在运行

在ORACLE中怎么对LONG类型字段的模糊查询

请教mysql模糊查询两边都用%为啥用不到索引?