ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 性能优化

性能优化

原创 Linux操作系统 作者:slayertttt 时间:2010-11-12 17:24:43 0 删除 编辑
oracle的执行计划居然出错!:9204中查询重写的bug。
BITMAP索引的结构:介绍BITMAP索引的存储结构。
sql语句中常量的处理:在使用SQL中,怎样处理常量效率更高。
奇怪的Cluster提示:CLUSTER提示的特点。
函数索引和初始化参数的关系:9i后函数索引使用不再需要设置初始化参数。
通过USE_CONCAT提示想到的:HINT与执行计划的关系问题。
在RULE模式下NL_AJ和NL_SJ提示无效:NL_AJ和NL_SJ提示在RULE模式下被忽略。
NO_PUSH_SUBQ提示无效:Oracle提示无效的bug。
利用Oracle的bug进行测试——UNNEST提示的测试记录:利用BUG测试UNNEST提示的功能。
奇怪的PUSH_PRED和NO_PUSH_PRED提示:Oracle认出了提示,但是将其忽略掉了。
EXPAND_GSET_TO_UNION提示不起作用:又一个无效的提示。
执行COUNT(COLUNM_NAME)不使用索引:介绍了9i和10g优化器处理COUNT(COLUMN)的区别。
Oracle的RBO优化器:RBO优化器优先级排名。
RBO下表连接顺序的确定:介绍RBO表连接的顺序。
CBO使用CHECK的一个Bug:当CHECK条件恒为NULL时的问题。
NOT NULL约束与CHECK约束:介绍直接设置NOT NULL约束和CHECK(COL IS NOT NULL)的区别。
常数索引:Oracle支持常数索引。
取得表中总记录数最快的方法:给出快速从表中读取记录总数的多种方法。
创建索引对运行中的SQL语句的影响(一):创建索引对于大部分正在运行的SQL语句是不会带来性能提升的。
创建索引对运行中的SQL语句的影响(二):带来性能提升的特例。
组合索引限制条件的验证:验证组合索引的限制条件。
CACHE和NOCACHE提示无效:描述了对CACHE和NOCACHE提示的测试。
CACHE和NOCACHE提示的进一步研究(一):进一步讨论NOCACHE提示。
CACHE和NOCACHE提示的进一步研究(二):讨论CACHE和NOCACHE对表的影响。
KEEP池的CACHE特点(一):KEEP池的使用。
KEEP池的CACHE特点(二):KEEP池不足时的CACHE特点。
KEEP池的CACHE特点(三):描述索引在KEEP池的CACHE特点。
KEEP池的CACHE特点(四):KEEP池的内存清理特点。
RECYCLE池的CACHE特点(一):RECYCLE池的使用。
RECYCLE池的CACHE特点(二):描述RECYCLE不足时的CACHE特点。
RECYCLE池的CACHE特点(三):描述索引在RECYCLE池的CACHE特点。
RECYCLE池的CACHE特点(四):CACHE提示对RECYCLE池的影响。
Oracle分页查询语句(一):分页查询标准写法。
Oracle分页查询语句(二):分页查询标准写法与错误写法效率对比。
Oracle分页查询语句(三):表连接情况效率对比。
Oracle分页查询语句(四):内部子查询排序的情况。
Oracle分页查询语句(五):UNION ALL和GROUP BY等操作会导致分页查询的效率优势消失。
Oracle分页查询语句(六):分页查询翻页到最后的性能问题。
Oracle分页查询语句(七):ORDER BY STOPKEY和ORDER BY在翻页最后几页的性能差别。
Oracle分页查询格式(八):如何对包含UNION ALL的分页语句编写特殊的分页查询语句。
Oracle分页查询格式(九):如何对包含DISTINCT/GROUP BY/UNIQUE的分页语句编写特殊的分页查询语句。
Oracle分页查询格式(十):10g的新执行计划GROUP BY STOPKEY,解决了GROUP BY分页效率低的问题。
Oracle分页查询格式(十一):介绍分析函数用于分页。
Oracle分页查询格式(十二):介绍分析函数用于分页,且排序字段上包含索引的情况。
Oracle分页查询格式(十三):介绍HASH SORT CLUSTER表对分页查询的帮助。
分页查询的排序问题:对排序算法的简单推测。
分页查询的排序问题(二):描述一下排序键值重复的一点研究。
查询操作系统统计信息:寻找操作系统统计信息的保存位置。
Statspack的唯一冲突bug:设置了CURSOR_SHARING为SIMILAR后,可能导致STATSPACK收集信息时出现唯一冲突的BUG。
解决的statspack bug的后续问题:Oracle推荐的解决问题的方法存在着一定的问题。
Oracle9i Cursor_sharing设置为similar引起的bug:设置了CURSOR_SHARING为SIMILAR后出现了一堆的问题,这篇文章进行简单的总结。
如何判断索引是系统产生还是用户创建的:区分索引是用户自己创建的还是Oracle自动生成的。
RBO如何确定使用索引的顺序:描述RBO确定索引顺序的规则。
ANALYZE的ESTIMATE语法处理全文索引的bug:ANALYZE的ESTIMATE语法在分析全文索引表时的问题。
域索引提示无效:域索引提示DOMAIN_INDEX_SORT和DOMAIN_INDEX_NO_SORT无效。
FIRST_ROWS和FIRST_ROWS(N)的区别:描述了FIRST_ROWS和FIRST_ROWS(N)的区别。
同时查询MAX和MIN的SQL:如何优化同时查询MAX和MIN的SQL语句。
小议笛卡儿连接:对CARTESIAN连接进行简单的分析。
全文索引性能分析(一):整体分析。
全文索引性能分析(二):统计信息对全文索引性能影响。
全文索引性能分析(三):直方图对全文索引性能影响。
全文索引性能分析(四):多个全文索引查询条件的情况。
全文索引性能分析(五):包含两个全文索引查询字段的情况。
全文索引性能分析(六):两张关联表都包含全文索引查询的情况。
全文索引性能分析(七):继续讨论两张关联表都包含全文索引查询的情况,并给出解决方案。
全文索引性能分析(八):进一步深入探讨上一篇给出的解决方案,利用节搜索解决了解决方案中存在的逻辑问题。
利用执行计划来避免排序操作(一):对于单表操作如何避免排序。
利用执行计划来避免排序操作(二):对于表连接的情况如何避免排序。
Oracle对索引分析的优化:Oracle分析索引的时候,可能会将COMPUTE方式转化为ESTIMATE方式。
恒等查询条件改变执行计划——SQL优化之Everything is Possible:SQL中添加一个1=1的条件也可能改变执行计划。
增加索引改变执行计划——SQL优化之Everything is possible:增强索引造成执行计划改变,且新执行计划并没有使用新增索引。
增加Distinct后查询效率反而提高——SQL优化之Everything is possible:添加DISTINCT反而提高查询速度。
两层GROUP BY效率反而比一层GROUP BY效率高——SQL优化之Everything is possible:查询中两次GROUP BY比一次GROUP BY效率高的例子。
UNION效率比UNION ALL效率高——SQL优化之Everything is possible:使用UNION要比使用UNION ALL的效率高的情况。
ORA-30496错误:设置open_cursor为similar造成的错误
9i奇怪的AJ执行计划:920上AJ执行计划的bug。
ORACLE-7445(kghbigasp)错误:设置PGA_AGGREGATE_TARGET引起的错误。
ORA-7445(kkodsel)错误:星型查询造成的问题。
不同建表方式对统计信息影响不同:10g的统计信息和建表的方式还有关系。
基于UNION ALL的分页查询执行计划问题:9i上UNION ALL分页查询可能会影响性能。
基于UNION ALL的分页查询执行计划问题(二):给出一个相对简单的解决方法。
CHECK约束中的NULL条件:恒NULL条件对CHECK约束的影响。
核心表AUTOTRACE结果出错:核心表AUTOTRACE结果出错。
一次系统视图查询的优化:一次系统视图查询的优化。
利用索引提示减少分页的嵌套层数:利用索引提示减少分页的嵌套层数。
如何让Oracle产生预期的执行计划(一):以INDEX_JOIN为例,简单描述影响Oracle的执行计划的产生。
如何让Oracle产生预期的执行计划(二):通过修改表结构的方式改变执行计划的方法。
如何让Oracle产生预期的执行计划(三):通过修改数据的方式改变执行计划的方法。
ORA-7445(kghbigghs)错误:9i设置PGA_AGGREGATE_TARGET导致的bug。
ORACLE动态性能视图统计值溢出:整型数溢出问题。
Oracle10g的FAST DUAL执行计划:FAST DUAL执行计划。
Oracle10g可以查看DDL的执行计划:EXPLAIN PLAN FOR查看DDL语句的执行计划。
Oracle10G新增NO提示:10g中很多HINT添加了对应的NO_HINT。
ORA-7445(ksmarfg):仍然是PGA_AGGREGATE_TARGET导致的bug。
设置MEMORY_TARGET会导致RESULT_CACHE_MAX_SIZE在重启后归零:设置MEMORY_TARGET,则RESULT_CACHE_MAX_SIZE的设置在数据库重启后自动被置为0。
设置MEMORY_TARGET会导致RESULT_CACHE_MAX_SIZE在重启后归零(二):再次测试后发现了导致问题的真正原因。
ORA11G ORA-00845 错误:Oracle 11g的Linux版本在修改了MEMORY_TARGET或者SGA_TARGET后启动可能会报错。
重启系统后AUTOTRACE统计为零:重启系统后AUTOTRACE统计为零。
V$SQL视图显示结果异常的诊断:V$SQL视图中SQL_TEXT列中的数据是不正常的。
10203设置CURSOR_SHARING为SIMILAR导致物化视图刷新失败:设置CURSOR_SHARING为SIMILAR导致物化视图刷新失败。
ORA-600(925)错误:设置过大的SORT_AREA_SIZE引发的错误。
Oracle11新特性——SQL缓存结果集(一):11g新增功能缓存结果集中SQL语句的缓存。
Oracle11新特性——SQL缓存结果集(二):SQL缓存结果集的特点。
Oracle11新特性——SQL缓存结果集(三):SQL缓存结果集的特点并简单介绍DBMS_RESULT_CACHE包。
Oracle11新特性——PLSQL函数缓存结果(一):11g新增功能PLSQL函数缓存结果的功能。
Oracle11新特性——PLSQL函数缓存结果(二):11g新增功能PLSQL函数缓存结果和DETERMINISTIC函数的区别。
Oracle11新特性——PLSQL函数缓存结果(三):11g新增功能PLSQL函数缓存结果的应用实例。
临时表产生REDO过多的bug:9204上INSERT INTO SELECT方式插入临时表,造成的REDO比插入普通表还多。
函数索引产生隐藏列:前两天在进行LOGMNR操作的时候发现了空的列名,经检查发现是函数索引造成的隐藏列。
ORA-00844错误:Oracle的内存管理方式改为自动内存管理时,出现的错误。
一次更新操作的优化:描述最近进行了一次更新操作的处理和优化工作。
利用Oracle的新特性优化SQL:利用Oracle的新特性优化SQL。
索引重建的数据源:索引重建的数据源问题。
10g数据泵和导入导出性能对比(四):讨论并行度对数据泵导出的影响。
Tom新书的一个小bug——mystat脚本:在看Tom的新书Oracle9i&10g编程艺术发现了一个小问题。
ORA-600(16515)错误:收集统计信息时出现了bug。
SQL优化引出的问题(一):经过简单的检查,找到了一个问题SQL语句。
SQL优化引出的问题(二):继续寻找导致问题的真正原因。
DBA_JOBS_RUNNING视图访问缓慢:一个经常碰到的bug,访问DBA_JOBS_RUNNING视图长时间得不到结果。
DBA_LMT_USED_EXTENTS视图访问缓慢:又一个访问数据字典视图缓慢的bug。
ORA-7445(kkojnp)错误:FIRST_ROWS模式下,使用分析函数且不包括ORDER BY语句可能导致这个bug。
ORA-7445(qkabxo)错误:FIRST_ROWS模式下,执行计划中出现BITMAP索引扫描导致的错误。
BITMAP索引异常增大:BITMAP索引异常增大的BUG。
FIRST_ROWS优化模式语言排序模糊匹配问题:在FIRST_ROWS优化模式下,将会话排序和比较方式设置为语义模式,即忽略大小写模式,对字段进行LIKE模糊查询,可能导致错误的结果。
FIRST_ROWS优化模式访问远端表可能导致错误结果(一):FIRST_ROWS优化模式下,通过数据库链访问远端表,且SQL包括IN子查询语句时,优化器可能给出错误的执行计划,从而导致结果集出现重复记录。
FIRST_ROWS优化模式访问远端表可能导致错误结果(二):继续研究问题和版本的关系,以及相应的解决方法。
STATSPACK清除数据时没有删除STATS$UNDOSTAT:Oracle在清除STATSPACK数据的时候,漏掉了STATS$UNDOSTAT表。
STATSPACK数据清除(一):Oracle文档推荐的STATSPACK过期数据产生的方法是直接删除STATS$SNAPSHOT表中的记录。
STATSPACK数据清除(二):进一步描述清除问题。
利用MOVE压缩表的高水位线:MOVE不指定INITIAL不会压缩第一个EXTENT。
11G访问DBA_OBJECTS和V$LOCK视图时HANG住:11g也存在访问数据字典出现长时间等待的问题。
一次ORA-4030问题诊断及解决(一):简单记录一下问题的诊断和解决过程。
一次ORA-4030问题诊断及解决(二):继续寻找源数据库和目标数据库执行计划不同的原因。
一次ORA-4030问题诊断及解决(三):寻找产生问题的真正原因。
WEBLOGIC连接Oracle RAC的负载均衡测试:测试单实例与RAC环境各个节点的负载情况。
清空数据库缓冲区的方法(一):描述10g清空数据库缓冲区的方法。
清空数据库缓冲区的方法(二):描述9i清空数据库缓冲区的方法。
9i索引范围扫描逻辑读问题:9i在默写情况下,执行索引范围扫描,并没有过滤结果,导致大量不必要的逻辑读。
ORA-600(15599)错误:又是和PGA_AGGREGATE_TARGET有关bug。
外键列上是否需要索引:描述索引对于外键支持的重要性。
HINT如何跨越视图生效:如何是HINT跨越视图对基表生效。
由HINT跨越视图生效想到的:HINT对视图的方式同样使用于SQL子查询中的匿名视图。
利用NO_MERGE解决数据字典视图访问低效:通过NO_MERGE视图来避免低效的执行计划。
加载数据顺序对HASH SORT CLUSTER性能影响:加载或插入数据的顺序对影响影响很大。
Oracle11gr2新增提示IGNORE_ROW_ON_DUPKEY_INDEX:Oracle新增了一个HINT,使得INSERT INTO SELECT操作可以避免插入重复的记录。
ORA-600(qerltcInsertSelectRop_bad_state)错误:在利用IGNORE_ROW_ON_DUPKEY_INDEX提示执行插入时,很可能碰到这个错误。
利用USE_INDIRECT_DATA_BUFFERS突破32位的2G内存限制(一):介绍如何设置这个参数。
利用USE_INDIRECT_DATA_BUFFERS突破32位的2G内存限制(二):介绍设置这参数过程中碰到的错误。
DECODE和CASE的性能比较:比较这两个功能类型的方面的性能差别。
数据库启动出现ORA-27102错误:测试数据库启动时出现了这个错误。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24910165/viewspace-678016/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 备份恢复:
请登录后发表评论 登录
全部评论

注册时间:2010-11-12

  • 博文量
    10
  • 访问量
    6757