oracle SQL性能优化
灯惉
IT的童鞋们,永远在路上,在前进的路上,而我们这些IT民工永远追赶着时代的步伐
展开
-
SQL性能优化(一)
1.选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那个表原创 2012-07-25 11:35:23 · 376 阅读 · 0 评论 -
ORACLE SQL性能优化系列 (二)
1. 使用DECODE函数来减少处理时间 使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. 例如: SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%'; SELECT COUNT(*),SUM(SAL)原创 2012-07-29 23:50:13 · 552 阅读 · 0 评论 -
ora-01536 超出表空间限额
原因分析:ora-1536 是指的你建表的那个user所能使用的空间没有了,不是那个表所在的tablespace 没有free space了。你需要做的是给那个user 对那个tablespace有更多的space 可以使用。解决办法:1、查看表空间限额quotasselect * from dba_ts_quotas; ‘dba_ts_quotas’描述所有表空间的限额原创 2012-11-27 22:00:35 · 5258 阅读 · 0 评论 -
oracle10g 数据库类型
在通过DBCA来创建oracle数据库或删除已有数据库的时候。下面来主要说明创建数据库在创建数据库的时候,一般会给你提供三种数据库模板(就是数据库类型):一般用途:General Database事物处理:Transaction Processing数据仓库:Data Warehouse定制数据库:Custom Database下面就Ceneral Database, Tr原创 2013-04-11 21:07:12 · 961 阅读 · 0 评论 -
Oracle kill session详解
kill session 是DBA经常碰到的事情之一。如果kill掉了不该kill 的session,则具有破坏性,因此尽可能的避免这样的错误发生。同时也应当注意,如果kill 的session属于Oracle 后台进程,则容易导致数据库实例宕机。 通常情况下,并不需要从操作系统级别杀掉Oracle会话进程,但并非总是如此,下面的描述中给出了在Oracle级别杀掉会话以及操作系统级别杀掉转载 2013-04-14 22:26:14 · 1522 阅读 · 0 评论 -
索引详解-2
一、限制索引: 限制索引是一些没有经验的开发者经常犯的错误之一,在SQL语句中很多陷阱会使一些索引无法使用,下面讨论一些常见的问题:1、使用不等于操作符(下面的查询即使在cust_rating列有一个索引,查询语句任然执行一次全表扫描。select cust_id, cust_name from customers where cust_name 如果把上面的语句更写为下面原创 2013-04-24 22:20:00 · 461 阅读 · 0 评论 -
索引详解-1
一、索引的特点:1、通过创建唯一性索引,可以保证数据库表中的每一行数据的唯一性。2、可以大大加快数据的检索速度,这也是创建索引的主要原因。3、可以加速表与表之间的联系,特别是在实现数据参考完整性方面具有特别的意义。4、使用分组和排序子句进行数据检索时,可以减少查询中分组和排序的时间。5、通过使用索引,可以在查询的过程中,使用优化隐藏器来提高系统的性能。二、索引不足:1、原创 2013-04-23 22:12:04 · 645 阅读 · 0 评论 -
存储过程-1
存储过程-1一、存储过程的定义:1、定义:存储过程(stored Procedure)是一组完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过指定存储过程的名字并给出参数来执行它,存储过程是数据库中一个很重要的对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程是由流控制和SQL语句书写的过程,这个过程经过编译和优化后存储在数据库服务器中,应用程序使用时只要调原创 2013-05-14 21:12:51 · 667 阅读 · 0 评论