2011年3月8日

摘要: 如何干预执行计划 - - 使用hints提示 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则我们就可以指示优化器使用全表扫描。在ORACLE中,是通过为语句添加hints(提示)来实现干预优化器优化的目的。 hints是oracle提供的一种机制,用来告诉优化器按照我们的告诉它的方式生成执行计划 阅读全文
posted @ 2011-03-08 21:30 小良cardon 阅读(1896) 评论(0) 推荐(0) 编辑
摘要: 例1: 假设LARGE_TABLE是一个较大的表,且username列上没有索引,则运行下面的语句:SQL> SELECT * FROM LARGE_TABLE where USERNAME = ‘TEST’;Query Plan-----------------------------------------SELECT STATEMENT Optimizer=CHOOSE (Cost=1234 Card=1 Bytes=14)TABLE ACCESS FULL LARGE_TABLE [:Q65001] [ANALYZED] 在这个例子中,TABLE ACCESS FULL LARG 阅读全文
posted @ 2011-03-08 20:46 小良cardon 阅读(10459) 评论(0) 推荐(2) 编辑
摘要: select 的工作原理:1:Parse,语法分析阶段2:Execute,执行3:Fetch,提取数据阶段一:先在Library Cache找这条命令,看执行计划,二:如果没有,就语法分析三:如果语法通过,就对象分析,通过数据字典 比如表存不存在,表列存不存在,表列如果是*,就翻译成全部列名四:获得对象解析锁,锁住表,列这个对象,目的是防止别的用户来改变表,列结构。五:检查权限对象,看用户能不能访问这个对象。比如表,视图。六:服务器生成执行计划,装载到Library Cache中七:检查数据库高速缓存区(Data buffer)中,有没有内容,即看能不能找到对象(表,视图)的数据块(block 阅读全文
posted @ 2011-03-08 20:45 小良cardon 阅读(1429) 评论(0) 推荐(0) 编辑

2010年3月22日

摘要: Cannot open message catalog LIBTUX_CAT, set 1, num 681; check TUXDIR=/home/tuxedo/bea/tuxedo8.1, LANG=C产生这个错误的原因可能有两个:1、内核参数的设置,需要如下设置# Useful for debugging multi-threaded applications.kernel.core_use... 阅读全文
posted @ 2010-03-22 18:38 小良cardon 阅读(5178) 评论(0) 推荐(0) 编辑

2010年3月19日

摘要: $tmshutdown-yShutting down all admin and server processes in /home/billklmy/cfg/tuxconfigtmshutdown:internalerror:CMDTUX_CAT:764:ERROR:can'tattachtoBB解决办法:执行ipcs -qms |grep billklmy | grep -v 'grep' |... 阅读全文
posted @ 2010-03-19 16:50 小良cardon 阅读(2578) 评论(0) 推荐(0) 编辑

2010年3月10日

摘要: VCL实现同步方法就是调用线程类的Synchronize的过程,此过程需要一个无参数的procedure,故在此procedure中无法传递参数值,但可以通过类的成员来实现。在类的Execute中只须调用Synchronize就可以了。  如果在线程中对VCL赋值操作,在连续执行多次以后,会报“Canvas does not allow drawing”错误,这个错误可以由... 阅读全文
posted @ 2010-03-10 00:41 小良cardon 阅读(6412) 评论(0) 推荐(0) 编辑

2010年3月7日

摘要: 动态创建TXMLDocument时出现Access violation动态创建TXMLDocument对象时(不预先从组件面板拉一个XML组件到在form或其他组件上,纯粹在代码中创建),如果所创建对象未指定其生存周期所依赖的组件时,则在读取该对象属性及属性值时会出现Access violation。出错代码1: xmlDoc := TXMLDocument.Create(nil); xmlDoc... 阅读全文
posted @ 2010-03-07 15:12 小良cardon 阅读(632) 评论(0) 推荐(0) 编辑

2010年2月21日

摘要: powerdesigner安装后:C:"Program Files"Sybase"PowerDesigner 12"Add-ins"Microsoft Word Import Export下的 WordToRqm.dot自动加载到word Normal.dot中,还死活去不掉。只能采取注册表隐含了:运行regedit.exe 打开注册表编辑器,定位到:HKEY_CURRENT_USER"Softw... 阅读全文
posted @ 2010-02-21 17:37 小良cardon 阅读(960) 评论(0) 推荐(0) 编辑

2010年2月8日

摘要: 凡是和java设计相关的工具,都会用到package与import,到底这两个东东是做什么的,如何用,它们的内部机理又是如何呢,今仅就个人的理解谈谈看法,里面一些错漏,疑点也请朋友们指出:一, package,import引入原因:package: 我们都熟悉超市,超市虽然庞大,东西繁多,但却管理的井井有条,当找某样东东时,我们也很容易找到,它的一个重要的原因就是采用了分类放置机制,物品分门别类... 阅读全文
posted @ 2010-02-08 20:35 小良cardon 阅读(1707) 评论(0) 推荐(1) 编辑
摘要: 编译时的多态,是指参数列表的不同, 来区分不同的函数, 在编译后, 就自动变成两个不同的函数名. 在运行时谈不上多态运行时多态:用到的是后期绑定的技术, 在程序运行前不知道,会调用那个方法, 而到运行时, 通过运算程序,动态的算出被调用的地址. 动态调用在继承的时候,方法名 参数列表完全相同时才出现运行时多态!运行时多态,也就是动态绑定,是指在执行期间(而非编译期间)判断所引用对象的实际类型,根据... 阅读全文
posted @ 2010-02-08 00:45 小良cardon 阅读(1585) 评论(0) 推荐(0) 编辑

导航