09 2012 档案

Oracle的索引类型总结
摘要:1)b-tree索引 Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。每当你发布基本的没有经过进 一步修改的CREATE INDEX语句时,就是在创建b-tree索引。这里不打算对b-tree索引进行更多深入的探讨,这些用户都可以自己了解。基本上这些索引存储你创建的 索引所在的列值以及用来查找自身行的指向实际数据表的指针。记住,这也就意味着要进行多路查询,其中一个查询各个节点和索引的叶节点,然后才是表的行自 身。这就是为什么Oracle的优化器在某种情况下会选择执行全表扫描而不执行索引查找的原因了,因为全表扫描执行起来实际上可能会更快一些. 阅读全文

posted @ 2012-09-28 13:14 要么牛逼,要么滚蛋 阅读(13567) 评论(0) 推荐(1)

在线重定义表的测试和问题 <转>
摘要:在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24 系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量 DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的 同时允许DML操作。1、在线重定义表具有以下功能:(1)修改表的存储参数;(2)可以将表转移到其他表空间;(3)增加并行查询选项;(4)增加或删除分区;(5)重建表以减少碎片;(6)将堆表改为索引组织表或相反的操 阅读全文

posted @ 2012-09-28 13:13 要么牛逼,要么滚蛋 阅读(346) 评论(0) 推荐(0)

oracle死锁原因分析 <转>
摘要:死锁的原因1。模拟死锁1。1。主表-- Create tablecreate table WDZ1(WDZ1ID NUMBER not null,MEMO VARCHAR2(20));alter table WDZ1add constraint XXXXXX primary key (WDZ1ID);1。2。从表(没有外健的索引)-- Create tablecreate table WDZ2(WDZ2ID NUMBER not null,WDZ1ID NUMBER,MEMO VARCHAR2(20));-- Create/Recreate primary, unique and foreig 阅读全文

posted @ 2012-09-28 13:12 要么牛逼,要么滚蛋 阅读(215) 评论(0) 推荐(0)

bitmap索引的深入研究 <转>
摘要:位图(bitmap)索引是另外一种索引类型,它的组织形式与B树索引相同,也是一棵平衡树。与B树索引的区别在于叶子节点里存放索引条目的方式不同。从前面我们知道,B树索引的叶子节点里,对于表里的每个数据行,如果被索引列的值不为空的,则会为该记录行在叶子节点里维护一个对应的索引条目。而位图索引则不是这样,其叶子节点里存放的索引条目如下图所示。http://space.itpub.net/attachments/2008/06/9842_200806101730271.jpg假设某个表T里所有的记录在列C1上只具有三个值:01、02和03。在表T的C1列上创建位图索引以后,则叶子节点的内容如图9-14 阅读全文

posted @ 2012-09-28 13:08 要么牛逼,要么滚蛋 阅读(340) 评论(0) 推荐(0)

关于pthread_cancel <转>
摘要:软件版本: 操作系统:ubuntu10.04 内核版本:Linux version 2.6.32-36-generic目录: 1. 线程终止方式 2. pthread_cancel 请求退出 3. 由 pthread_cancel 引起的死锁问题 4. 关于 pthread_cancel 取消点 5. 参考资料1. 线程终止方式 线程可能的终止方式包括: · return 从启动例程中返回,返回值就是线程的退出码。进程中的其它线程可通过 pthread_join 函数获取这个返回值。 · void pthread_exit(void *rval_ptr); 退出线程,进程中 阅读全文

posted @ 2012-09-25 16:52 要么牛逼,要么滚蛋 阅读(531) 评论(0) 推荐(0)

ORA-245503 解决方案 <网上收集>
摘要:http://blog.csdn.net/mrluoe/article/details/7519678 在Linux下多线程操作数据库中时不时出现ORA-24550错误,导致程序崩溃退出,在网上查找资料,说在sqlnet.ora文件中增加以下几行:DIAG_ADR_ENABLED=FALSEDIAG_SIGHANDLER_ENABLED=FALSEDIAG_DDE_ENABLED=FALSE尝试着照以上修改sqlnet.ora配置文件,然后重启oracle监听服务,程序运行一段时间,暂未出该错误,是否可彻底解决该问题,还待继续观察中。DIAG_ADR_ENABLED = OFFDIAG_SIG 阅读全文

posted @ 2012-09-10 16:43 要么牛逼,要么滚蛋 阅读(1958) 评论(0) 推荐(0)

玩转Google开源C++单元测试框架Google Test系列(gtest)(总) <转>
摘要:前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错。 我们原来使用的是自己实现的一套单元测试框架,在使用过程中,发现越来越多使用不便之处,而这样不便之处,gtest恰恰很好的解决了。其实gtest本身的实现并不复杂,我们完全可以模仿gtest,不断的完善我们的测试框架, 但最后我们还是决定使用gtest取代掉原来的自己的测试框架,原因是:1.不断完善我们的测试框架之后就会发觉相当于把gtest重新做了一遍,虽然轮子造的很爽,但是不是必要的。2.使用gtest可以免去维护测试框架的麻烦,让我们有更多精力投入到案例设计上。3.gtest提高 阅读全文

posted @ 2012-09-06 12:46 要么牛逼,要么滚蛋 阅读(176) 评论(0) 推荐(0)

导航