oracle procedure 实际开发遇到的问题
有两张表 1.第一张,数量百万级 id number 主键 name varchar(50) 2.第二张,数量1万级 id number 主键 deletename varchar(50) 现在的问题是要写一个存储过程,删除第一张表中的name字段有在第二张表deletename中出现的记录, 怎么写性能最高啊,大家集思广义啊,小弟在此谢过了......
delete a where exist ( select 1 from b where a.name=b.deletename )引用 delete a where exist ( select 1 from b where a.name=b.deletename ) select 1 是什么意思啊 select 1 表示出来的结果无所谓的 只有匹配值就返回 只是习惯写法,其实你可以写任何值,不影响结果的 1. delete a where exist ( select 1 from b where a.name=b.deletename ) 2. delete a where a.name in ( select b.deletename from b ) 这两个,哪个性能高点 这种数据量EXIST应该会快点 delete from a where a.name in ( select deletename from a,b where a.name=b.deletename ); delete a where exist ( select 1 from b where a.name=b.deletename ) 快些 在实际的项目应用中应该尽量避免使用 in 和 no
相关问答:
我安装一台redhat linux5+oracle 10g的服务器,笔记本(XP系统)安装了oracle 10g客户端,结果老是出12560的错误,请高手指点一二, -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dpor ......
环境:1.win2003server+oracle9i 2.oracle9i字符集为AMERICAN_AMERICA.WE8ISO8859P1 3.oracle sql developer版本 1.5.5 现象描述: 1.在sql developer 中查询oracle中的某个表,中文全部显示为乱码。
......
在Eclipse里编写的一个JAVA程序,连接数据库,却总连不上,程序为: import java.sql.*; public class as { public static void main(String args[])throws Exception { Class.forName("oracle. ......
代码 select * from ct_lsb where br_number like '0746 8[1-3]%' 请问 为什么这个查不出数据? select * from ct_lsb where br_number like '0746 83%'这个查的出额! select ......
create or replace function GetWorkBeginTime() return date is myDate date; begin myDate := trunc(sysdate-1)+8/24; return myDate; end; ......