帮朋友优化个sql
今天朋友跟我说,有个sql消耗系统资源非常严重,看能不能帮忙优化下sql本身不复杂,只是关联了四五个表,有个表resultreport 3百多万条数据库,其他几个表才几千条几万条记...
oracle联合索引在CBO下的分析
SQL> set autot onSQL> desc yibin_test; 名称 &n...
sql优化案例一:使用了表达式不会使用索引
最近在客户那做数据库性能调优时,发现一些程序开发的sql 写法确实不好,导致 使用不上索引,占用cpu过高,而影响应用,数据库采用的是RBO模式 以下是一...
pl/sql for loop循环的使用
spool p2p_430.logprompt "create temp table"create table temp0825 (v_account_id number, v_transfer_type number);declare v_id number;v_account_id number ;v_transfer_type number;begin for x in (s...
oracle 转义字符去掉下划线 _ 的使用方法
1,看以下结果 select * from test where login like '%CF_%';LOGIN--------------------------------------------------CF_wwwwwww4CF_wwwwwww5CF_wwwwwww6CF1CF2CF3因为_是转义字符 把CF1,CF2,CF3的结果也...
ORA-01407: cannot update to null 错误解决
在更新客户数据时 出现ORA-01407错误SQL> select table_id,game_deal_log_id from tb_test_log; TABLE_ID GAME_DEAL_LOG_ID---------- ----------------G &nb...
ORA-01008: not all variables bound 错误
今天在测试一个job时 出现下面错误Connected to Oracle9i Enterprise Edition Release 9.2.0.4.0 Connected as dba_test SQL> SQL> begin 2 sys.dbms_job.submit(job => :job, ...
oracle 10g merge命令的增强
merge into 语句写法主要功能是对两个表进行关联,如果存在相等值就更新,不存在就插入先看9i写法:create table test (id number,name varchar2(20));create table paul (id number,name varchar2(50));insert in...
今天修复数据写了个pl/sql
以下这个pl/sql 是针对业务数据出了问题而进行修复的,涉及到一些判断spool test.logdeclare CURSOR emp_cur IS SELECT a.client_id client_id, b.login,&...
oracle 为什么没有使用索引的一种情况
存在以下索引SQL> SELECT INDEX_NAME,COLUMN_NAME FROM USER_IND_COLUMNS WHERE INDEX_NAME='IDX_GBDS_CLIENT_GAME_EVENT'; INDEX_NAME &n...
2008.07.01 sql优化一例
昨天下午 客户报某个页面长期操作没完成检查数据库日志 发现ora-01555错误 捕获的sql如下:Select b.Id, b.credit_amount From (Select * From tb_test_bonus Where role_bonus_id = 121) a ...
oracle 9i分析函数参考手册 (二)
ROW_NUMBER 功能描述:返回有序组中一行的偏移量,从而可用于按特定标准排序的行号。SAMPLE:下例返回每个员工再在每个部门中按员工号排序后的顺序号SELECT department_id, last_name, employee_id, ROW_NUMBER()&nb...
Oracle 9i 分析函数参考手册(一)
Oracle 9i 分析函数参考手册Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。下面例子中使用的表来自Oracle自...
用存储过程把表里的数据导成insert语句
SQL> show parameters utl_file_dir;可以看到该参数的当前设置。如果没有值,必须修改数据库的initsid.ora文件,将utl_file_dir 指向一个你想用PL/SQL file I/O 的路径。重新启动数据库。此参数才生效。调用它,可以...
如何实现一个功能,将oracle中一个用户下的所有表结构导出到.sql文件中
pub上的一个案例 http://www.itpub.net/thread-985145-1-1.html 1.用system用户创建路径 utl_dir用于存放文件SQL> create or replace directory UTL_DIR as 'd:\dba';SQL> grant write on directory UTL_DI...
一道sql面试题的求解方法
统计出每个教师每门课的及格人数和及格率create table rock (教师ID number,学生ID number,学科名称 varchar2(40),成绩 number);insert into rock values(1,1,'数学',80);insert into rock values(1,2,'数学',50);in...
oracle 删除重复数据的几种方法
create table test_0210(id number,name varchar2(32),age number); insert into test_0210 values(1,'abc',32); insert into test_0210 values(2,'def',33); insert into test_0210 values(3,'def',45); commit; S...
delete 删除数据 全表扫描还是扫描所有块的测试
SQL> select count(distinct b) from 2 (select dbms_rowid.rowid_block_number(rowid) b from t);COUNT(DISTINCTB)---------------- &nb...
oracle 全表扫描,索引范围扫描与块的理解
SQL> create table t as select * from dba_objects;sql>analyze table t compute statistics;SQL> select count(distinct b) from 2 (select dbms_rowid.rowid_block_number(rowid...
sql优化:开发人员应该要细心
客户反映运行某个报表要45秒以上select id, role_id, login  ...