首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle数据顺序问题

关于Oracle中结果集数据的顺序问题,在《Oracle读取数据的顺序问题》中曾通过实验说明过,最近在整理一些案例,碰巧看到了这篇《Ordering of Result Data (Doc ID 344135.1...)》,正如文中所说,强调一点,Oracle中数据检索没有默认顺序。...如果想让Oracle返回有序的数据,唯一的操作,就是指定order by子句。...这个问题很隐蔽,可以参考《Oracle不同版本group by的变化》,因为从10g开始,group by用了hash聚合,不是sort聚合,因此不会默认排序了,如果在9i,程序中没指定order by...Oracle就是个软件,有人说过,这些隐藏参数,其实相当于开发人员设置的各种debug开关,打开或者关闭,都对应到不同的代码逻辑,带来的效果,就是不同的。

50930
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    oracle ora-12154问题总结

    在使用oracle时,经常会遇到ora-12154问题,但一直没总结,解决办法过段时间就忘,再遇到问题只能再去找解决办法。今天,把目前了解到的内容汇总记录,方便以后查找。...以前一直以为oracle服务器中一个实例对应一个监听器,最近才刚知道oracle服务器可以创建多个数据库实例,这多个实例可以使用同一个监听器。...5、客户端配置问题,检查客户端的tnsnames.ora文件 这类问题是在搜索解决方法时发现的,本人并没有遇到过。...症状多发生在使用plsql或其他客户端工具时,没有配置oracle主目录导致未找到tnsnames.ora文件或该文件本身有问题(文件中的实例名前不能有空格)。...如果使用plsql之类工具,检查oracle主目录和oci路径配置是否正确; 2、检查服务器端,首先通过lsnrctl status命令查看监听服务有没启动,状态有无问题; 3、如服务已启动且状态正确

    87710

    Oracle列直方图的问题隐患

    第一章 Oracle列直方图介绍 众所周知 ,列的直方图主要用于针对数据倾斜的情况,能帮助数据库更准确的了解数据的分布情况,从而选择更高效的执行计划。 经过测试,直方图也是存在很多问题隐患的。...下面分别进行分析及测试: 第二章 FOR COLUMNS SIZE AUTO参数问题 FOR COLUMNS SIZE AUTO参数主要有如下特点: 由Oracle自动根据数据的分布情况,确定是否收集直方图...第四章 列宽过长导致的问题 对于文本型超过32位、数量型超过15位的列,直方图收集后都会产生一定的问题,从而导致可选择率的不准确问题。...4.1 文本型列过宽 如果针对文本型的列收集直方图,Oracle只会将该文本型字段的头32个字节给取出来(实际上只取头15个字节),并转换为一个浮点数。...4.2 数量型列过宽 如果针对数量型的列收集直方图,Oracle只会针对该数量型字段的前15位取ROUND。记录在直方图中。

    2.5K20

    Sqlplus与oracle连接问题汇总

    问题一: 连接时,提示无监听程序 ? 可能没有监听程序,或者服务没有起。 1)建立监听: ? 2)如果已有监听,可能是监听服务没有起: ?...问题二: Sqlplus连接本地数据库时,没有响应,使用客户端(toad\plsql developer)时也是如此。并且与oracle连接测试也是没有响应。...最近,启动本地oracle服务后,使用cmd登陆sqlplus发现连接无响应问题,也就是死在那里不动。 正常情况下会提示已连接,现在情况如下: ? Connect后,执行回车,没有响应。...从服务列表里看了下,oracle服务和监听服务都是正常的: ? ? 同时做了次连接测试,也是没有响应: ? 而且进去tnsnames.ora看了下,配置内容没有做过修改啊,怪了。...经过探索,通过删除原来的监听(使用oracle net configuration assistant),新建一个监听就正常了,汗。

    84920

    Oracle的常见问题汇总(2)——​ORACLE IN与EXISTS语句的区别

    exists()适合B表比A表数据大的情况 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用. 2、第二种解释方法: 有两个简单例子,以说明 “exists”和“in”的效率问题...因此“select 1”这里的 “1”其实是无关紧要的,换成“*”也没问题,它只在乎括号里的数据能不能查找出来,是否存在这样的记录,如果存在,这 1) 句的where 条件成立。...通过使用EXISTS,Oracle会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间。...Oracle在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在一个加了索引的临时表中。在执行子查询之前,系统先将主查询挂起,待子查询执行完毕,存放在临时表中以后再执行主查询。...这也就是使用EXISTS比使用IN通常查询速度快的原因 3、总结: 上面两种方法对in和exists使用进行了详细的解释,那么什么时候采用哪个方法需要具体问题具体分析,最主要的目的是理解它们的用法,在实际工作中能够提高开发效率

    66980

    Oracle性能优化-子查询到特殊问题

    精通包括Oracle、MySQL、informix等多种关系型数据库,有丰富的数据库架构设计开发经验。就职于宜信。...1、空值问题 首先值得关注的问题是,在NOT IN子查询中,如果子查询列有空值存在,则整个查询都不会有结果。这可能是跟主观逻辑上感觉不同,但数据库就是这样处理的。因此,在开发过程中,需要注意这一点。...第二个值得关注的是,在11g之前,如果主表和子表的对应列未同时有NOT NULL约束,或都未加IS NOT NULL限制,则Oracle会走FILTER。...在11g的默认情况下,走的就是ANTI NA(NA=NULL AWARE) 2、OR问题 对含有OR的Anti Join或Semi Join,注意有FILTER的情况。...从成本或逻辑读等角度来看,整个逻辑读为30,较前面的69大大降低了 3、[NOT] IN/EXISTS问题 下面看两个关于[NOT] IN/EXISTS的问题。 1.

    1.8K70
    领券