设为首页 收藏本站
查看: 1223|回复: 0

[经验分享] DB2常用知识

[复制链接]
发表于 2016-11-13 07:19:54 | 显示全部楼层 |阅读模式
  1.系统表SYSIBM.SYSCOLUMNS
  可获得表的字段类型,长度等信息
  SELECT * FROM SYSIBM.SYSCOLUMNS WHERE TBNAME = '表名' AND TBCREATOR = 'schma名' ORDER BY COLNO FOR FETCH ONLY WITH UR
  2. FOR FETCH ONLY WITH UR
  UR stays for Uncommited Read. If you use it, you may get some pieces of
information that are "out of date". DB2 will not lock the pages you're
reading.

With FOR FETCH ONLY, you're saying to DB2, that you do not intend to
update the rows you are reading. DB2 will try to avoid locking the pages
you are reading, but will only give you "clean" pages, i.e., pages that
are allready commited.
  3. 索引系统表
  4. command line 建立远程数据库连接
DSC0000.jpg

  使用 CATALOG 命令分别建立实例与数据库节点.再使用 Connect to 命令登录数据库..
  过程如下:
  db2 => catalog tcpip node mynode remote pvcent20.cn.ibm.com server 5000

db2 => catalog db db_1 as mydb_1 at node mynode

db2 connect to  mydb_1 user db2inst1 using db2inst1 (用户名和密码是远程server的用户名和密码)


  5. OPTIMIZE FOR n
ROWS
  Example:
Suppose that you query the employee
table regularly to determine the employees with the highest salaries.
You might use a query like this:  

SELECT LASTNAME, FIRSTNAME, EMPNO, SALARY
FROM EMP
ORDER BY SALARY DESC;

  An index is defined on column EMPNO, so employee records are ordered
by EMPNO. If you have also defined a descending index on column SALARY,
that index is likely to be very poorly clustered. To avoid many random,
synchronous I/O operations, DB2 would most likely use a table space
scan, then sort the rows on SALARY. This technique can cause a delay
before the first qualifying rows can be returned to the application.
  If you add the OPTIMIZE FOR n
ROWS clause
to the statement, DB2 will probably use the SALARY index directly
because you have indicated that you expect to retrieve the salaries
of only the 20 most highly paid employees.
  Example:
The following statement uses that
strategy to avoid a costly sort operation:  

SELECT LASTNAME,FIRSTNAME,EMPNO,SALARY
FROM EMP
ORDER BY SALARY DESC
OPTIMIZE FOR 20 ROWS;

  Effects of using OPTIMIZE FOR n ROWS:



  • The join method could change. Nested loop join is the most likely
    choice, because it has low overhead cost and appears to be more efficient
    if you want to retrieve only one row.
  • An index that matches the ORDER BY clause is more likely to be
    picked. This is because no sort would be needed for the ORDER BY.
  • List prefetch is less likely to be picked.
  • Sequential prefetch is less likely to be requested by DB2 because
    it infers that you only want to see a small number of rows.
  • In a join query, the table with the columns in the ORDER BY clause
    is likely to be picked as the outer table if there is an index on
    that outer table that gives the ordering needed for the ORDER BY clause.
  z

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299428-1-1.html 上篇帖子: Windows 下卸载 DB2 下篇帖子: DB2数据类型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表