1. <pre name="code" class="html"> create table t1 (id char(10) primary key,a1 char(10),a2 char(10));
  2.  
  3. begin
  4. for i in 1 .. 1000
  5. loop
  6. insert into t1 values(i,i,'a'||i);
  7. end loop
  8. ;
  9. commit;
  10. end;
  11.  
  12. BEGIN
  13. DBMS_STATS.GATHER_TABLE_STATS(ownname => 'TEST',
  14. tabname => 'T1',
  15. estimate_percent => 100,
  16. method_opt => 'for all columns size repeat',
  17. no_invalidate => FALSE,
  18. degree => 8,
  19. cascade => TRUE);
  20. END;
  21. /
  22.  
  23. create table t2 (id int primary key,a1 char(10),a2 char(10))organization index;
  24.  
  25. begin
  26. for i in 1 .. 1000
  27. loop
  28. insert into t2 values(i,i,'a'||i);
  29. end loop
  30. ;
  31. commit;
  32. end;
  33.  
  34. BEGIN
  35. DBMS_STATS.GATHER_TABLE_STATS(ownname => 'TEST',
  36. tabname => 'T2',
  37. estimate_percent => 100,
  38. method_opt => 'for all columns size repeat',
  39. no_invalidate => FALSE,
  40. degree => 8,
  41. cascade => TRUE);
  42. END;
  43. /
  44.  
  45. SQL> update t1 set id=1999 where id=999;
  46.  
  47. 已更新 1 行。
  48.  
  49. SQL> commit;
  50.  
  51. 提交完成。
  52.  
  53. SQL> update t2 set id=1999 where id=999;
  54.  
  55. 已更新 1 行。
  56.  
  57. SQL> commit;
  58.  
  59. 提交完成。
  60.  
  61. SQL> select * from t1 where id>990;
  62.  
  63. ID A1 A2
  64. ---------- ---------- ----------
  65. 991 991 a991
  66. 992 992 a992
  67. 993 993 a993
  68. 994 994 a994
  69. 995 995 a995
  70. 996 996 a996
  71. 997 997 a997
  72. 998 998 a998
  73. 1999 999 a999
  74. 1000 1000 a1000
  75. 1001 10001 a1001
  76.  
  77. 已选择11行。
  78.  
  79. SQL> select * from t2 where id>990;
  80.  
  81. ID A1 A2
  82. ---------- ---------- ----------
  83. 991 991 a991
  84. 992 992 a992
  85. 993 993 a993
  86. 994 994 a994
  87. 995 995 a995
  88. 996 996 a996
  89. 997 997 a997
  90. 998 998 a998
  91. 1000 1000 a1000
  92. 1001 10001 a1001
  93. 1999 999 a999
  94.  
  95. 已选择11行。
  96.  
  97. 可以看到t1表是heap表输出不按主键排序
  98.  
  99. t2表时iot表输出按主键列排序
  100. SQL> select * from t1 where id>990 order by id ;
  101.  
  102. ID A1 A2
  103. ---------- ---------- ----------
  104. 1000 1000 a1000
  105. 1001 10001 a1001
  106. 1999 999 a999
  107. 991 991 a991
  108. 992 992 a992
  109. 993 993 a993
  110. 994 994 a994
  111. 995 995 a995
  112. 996 996 a996
  113. 997 997 a997
  114. 998 998 a998
  115.  
  116. 已选择11行。
  117.  
  118. SQL> select * from t2 where id>990 order by id;
  119.  
  120. ID A1 A2
  121. ---------- ---------- ----------
  122. 991 991 a991
  123. 992 992 a992
  124. 993 993 a993
  125. 994 994 a994
  126. 995 995 a995
  127. 996 996 a996
  128. 997 997 a997
  129. 998 998 a998
  130. 1000 1000 a1000
  131. 1001 10001 a1001
  132. 1999 999 a999
  133.  
  134. 已选择11行。
  1.  

iot表输出按主键列排序,heap表不是的更多相关文章

  1. Oracle表中的主键被当成哪些表的外键

    SELECT B.TABLE_NAME FROM USER_CONSTRAINTS A INNER JOIN USER_CONS_COLUMNS B ON A.CONSTRAINT_NAME = B. ...

  2. jdbc 得到表结构、主键

    jdbc 得到表结构.主键 标签: jdbctablenullschema数据库mysql 2012-02-16 22:13 11889人阅读 评论(0) 收藏 举报  分类: Java(71)  假 ...

  3. Transactional Replication2:在Subscriber中,主键列是只读的

    在使用Transactional Replication时,Subscriber 被认为是“Read-Only”的 , All data at the Subscriber is “read-only ...

  4. SQLServer 自增主键创建, 指定自增主键列值插入数据,插入主键

    http://blog.csdn.net/zh2qiang/article/details/5323981 SQLServer 中含自增主键的表,通常不能直接指定ID值插入,可以采用以下方法插入. 1 ...

  5. veridata实验例(5)在更改主键列值,update操作将被分成两个语句

    veridata实验例(5)更改主键列值,update操作将被分成两个语句 续接"veridata实验举例(4)验证veridata查找出updata.delete操作导致的不同步现象&qu ...

  6. hibernate 获取实体的表名、主键名、列名(转载+修改)

    package com.escs.utils; import java.util.Iterator; import org.hibernate.cfg.AnnotationConfiguration; ...

  7. MyBatis面对Oracle数据库如何实现主键列自增长

    因为Oracle数据库而言 不能够像SqlServer和MySql一样主键自增 而且MyBatis也没有提供直接的主键自增方法 所以我们自己使用查询语句来实现自增 实现代码: <insert i ...

  8. 通过 jdbc 分析数据库中的表结构和主键外键

    文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...

  9. mybatis使用注解往postgresql数据库表insert数据[主键自增]的写法

    建表SQL: DROP TABLE IF EXISTS person; CREATE TABLE person( person_id serial PRIMARY KEY NOT NULL, pers ...

随机推荐

  1. 用Flask实现视频数据流传输

    Flask 是一个 Python 实现的 Web 开发微框架.这篇文章是一个讲述如何用它实现传送视频数据流的详细教程. 我敢肯定,现在你已经知道我在O’Reilly Media上发布了有关Flask的 ...

  2. (Problem 3)Largest prime factor

    The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 60085 ...

  3. stdcall、cdecl、fastcall、thiscall 、naked call的汇编详解

    函数调用规范   当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个.什么样的参数.即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者 ...

  4. asp.net jquery+ajax异步刷新1

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. js两个日期对比大小

     //适合格式(0000-00-00) //日期比较 function dateCompare(startdata, enddata) { var arr = startdata.split(&quo ...

  6. Domain(AD) 管理

    新建账户 文件夹权限管理

  7. Java--格式化输出

    Java的格式化输出等同于String.Format,与C有很大的相似,比如 System.out.printf("%8.2f", x); 在printf中,可以使用多个参数,例如 ...

  8. linux popen函数

    描述 popen() 函数 用 创建管道 的 方式启动一个 进程, 并调用 shell. 因为 管道是被定义成单向的, 所以 type 参数 只能定义成 只读或者 只写, 不能是 两者同时, 结果流也 ...

  9. iOS - 单例传值 (一)

    点击打开链接    iOS - 单例传值 (二) 单例只会对某个类实例化一次/单例类,对单例这个类实例化一次有且仅有一个对象 你单例初始化,只能初始化一次,然后你指向的对象,其实都是指向一个内存地址, ...

  10. QT的动态翻译功能,可能依赖于消息(事件)机制

    QTranslator translator; bool b = translator.load(QString(":/qm/lang_en"));以后,无论使用QObject的t ...