随笔分类 - oracle
摘要:1、升序排列 create index ix_table1 on table1 (column1,column2); select column1,column2 from table1 order by column1,column2; 2、降序排列 create index ix_table1
阅读全文
摘要:select * from dba_sys_privs t where t.grantee='HR';select * from dba_role_privs t where t.grantee='HR';
阅读全文
摘要:原因:set autotrace on和set trimspool on在pl\sql中使用不了解决方法:在window环境中,使用cmd命令,sqlplus user_name/password@tns_name,然后就可以set了
阅读全文
摘要:1、命令写在一行:如,sqlldr sh/&sh_pass@&connect_string control=&ctl_file data=&dat_file log=&log_file direct=yes rows=100000。 2、注意文件的换行符,如果是wind,则是cr/lf,如果是Mac
阅读全文
摘要:原因:因为操作系统环境不同,所以换行符也不同,要查看数据文件的换行符解决方法:1、如果是苹果系统类的数据文件,则改为:RECORDS DELIMITED BY 0X'0D'2、如果是window系统类的数据文件,则改为:RECORDS DELIMITED BY 0X'0D0A'3、如果是unix系统...
阅读全文
摘要:1、如果order by columnA,那么在where查询条件中添加条件columnA=value,则oracle内部会过滤order by排序,直接用索引(可以通过execution plan查看)。2、如果order by columnA,columnB,那么在where查询条件中添加条件c...
阅读全文
摘要:SELECT A.TABLESPACE_NAME, A.BYTES / (1024 * 1024 * 1024 ) TOTAL, B.BYTES / (1024 * 1024 * 1024 ) USED, C.BYTES / (1024 * 1024 * 1024...
阅读全文
摘要:1、当多表查询的时候,把数据量小的表放在最后面,ORACLE会把最后面的表当作基础表,因为表间连接时,最右边的表会被放到嵌套循环的最外层。最外层的循环次数越少,效率越高。 2、Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉
阅读全文
摘要:NOT IN:不包括空值 NOT EXISTS:包括空值
阅读全文
摘要:原因分析:客户端字符集就是为了让数据库知道我们传递过去的字符是属于哪种字符集,以便于Oracle在存储字符时进行相应的编码映射(查看客户端字符集通过查找注册表中的NLS_LANG键)。在客户端查询数据库时显示字符的时候我们使用的是OS系统环境的默认字符集(查询OS系统环境默认字符集通过命令:chcp...
阅读全文
摘要:SELECT a.inst_id,sid,username,event,sql_id,a.PROGRAMFROM gv$session aWHERE a.STATUS='ACTIVE'AND username IS NOT NULL;或者SELECT sid,username,event,sql_i...
阅读全文
摘要:㈠ 分区表技术概述 ⑴ Range 分区 ① 例子 create table t (...列定义...) partition by range (week_num) (partition p1 values less than (4)tablespace...
阅读全文
摘要:㈠ 不合理的大表全表扫描 详见:点击打开链接 v$session_longops视图记录了超过6秒的所有SQL语句 这其中绝大部是全表扫描的语句!㈡ 语句共享性不好 常出没在OLTP,由于app没有合理使用绑定变量,导致大量重复的语句Parse,浪费大量的shared pool,使CPU利用率居高不...
阅读全文
摘要:㈠ 直接路径加载和buffer cache 直接路径插入的数据不经过buffer cache,从PGA直接把数据格式化成Oracle块 然后由普通的Oracle Server Process进程把数据块写入数据文件 因为不经过buffer cache,所以不需要DBWn介入 ...
阅读全文
摘要:在生产环境、我们会发现: ① 索引表空间 I/O 非常高 ② "db file sequential read" 等待事件也比较高 这种迹象表明、整个数据库系统、索引的读写操作比较多、已经成为系统的主要瓶颈 一般的原因、大抵如下: ① 大量SQL均采用索引 ② DML操作导致索引维护工作量暴增...
阅读全文
摘要:性能调优是每个DBA职业生涯中都能遇到的任务 大到世界五百强的核心系统,小到乡镇企业的进销存,几乎都会有要调优的时候 面对形形色色的系统,林林总总的需求,调优的手段也是丰富多彩 定位问题,分析问题,解决问题环环相扣,缺一不可,且又手段多样,效果也各有千秋 确定基线是沟通过程中...
阅读全文
摘要:声明:虽然题目是Oracle、但同样适合MySQL InnoDB索引 在大多数情况下、复合索引比单字段索引好 很多系统就是靠新建一些合适的复合索引、使效率大幅度提高 复合索引比单字段索引复杂、有两个原则需把握:前缀性和可选性 但是、可叹的是、国内很多IT系统开发人员没有意识到应该优先设计...
阅读全文
摘要:繁琐复杂的执行计划、可能迷了开发人员的眼、导致一条性感又傻X的SQL 在服务器上跑得特欢乐 有介于此、重点抓住几个部分、至于其他的嘛、当然是、非礼勿视咯、、 ㈠ 返回行的数量 Oracle优化器是基于成本的、评估成本的一个主要指标便是查询多少行 一般的、返回值在100...
阅读全文
摘要:1、适用系统的不同:位图索引适合OLAP系统,而B-tree索引适合OLTP系统。2、占用存储空间不同:位图索引只需要很小的存储空间,而B-tree索引需要占用很大的存储空间。3、创建需要的时间不同:位图索引创建很快,而B-tree索引创建很耗时。4、dml操作影响大小不同:位图索引只适合海量查询,...
阅读全文
摘要:使用语句:alter session enable parallel dml;会锁表,只能执行一个窗口中的sql语句,想执行update、delete、insert操作的其它session_id只能等待,小心使用 1). 查找出被锁的表 或者: select ls.osuser os_user_na
阅读全文