就以下的代码:插入1000多条记录到一个表里竞要十多秒!!救命!!!!
INSERT INTO HR_KQTempForInitData(EMPID,CARDDATE,CARDTIME,CARDNO)
SELECT tbl1.EMPID,tbl2.CARDDATE,tbl2.CARDTIME,tbl2.CARDNO
FROM HR_KQTempForEMP tbl1 LEFT JOIN hr_kqdata tbl2
ON tbl1.EMPID=tbl2.IDEMPLOYEE AND tbl2.ISIMPORT='Y' AND tbl2.ISRUN='N'
JOIN HR_KQMACHINE tbl3
ON tbl2.MACHINENO=tbl3.NO
WHERE TO_DATE(tbl2.CARDDATE,'YYYY-MM-DD')
BETWEEN dbegindailydate AND denddailydate
AND length(TRIM(tbl2.CARDDATE))>0
AND tbl3.ISTIME='N' AND tbl3.ISREPAST='N'
AND tbl3.IDMACHINE>0
AND tbl1.KQ_YN='Y';这分部数据查询不到一秒.
SELECT tbl1.EMPID,tbl2.CARDDATE,tbl2.CARDTIME,tbl2.CARDNO
FROM HR_KQTempForEMP tbl1 LEFT JOIN hr_kqdata tbl2
ON tbl1.EMPID=tbl2.IDEMPLOYEE AND tbl2.ISIMPORT='Y' AND tbl2.ISRUN='N'
JOIN HR_KQMACHINE tbl3
ON tbl2.MACHINENO=tbl3.NO
WHERE TO_DATE(tbl2.CARDDATE,'YYYY-MM-DD')
BETWEEN dbegindailydate AND denddailydate
AND length(TRIM(tbl2.CARDDATE))>0
AND tbl3.ISTIME='N' AND tbl3.ISREPAST='N'
AND tbl3.IDMACHINE>0
AND tbl1.KQ_YN='Y';
请朋友指点!!
解决方案 »
- 求Oracle的一条 SQL (case 还是 decode 之类的?) 大致 如下
- 跪求高手指点!!!SQL plus登不上,协议适配器错误。PLSQL Developer可以登录
- select * from a left join b on a.a1 =b.b1 and b.b1 = 3
- 同一个表,几个条件查询的方法
- Oracle包内过程重载的问题
- 求救:安装ora9i(win2003)时不能创建数据库,提示"invalid END header format"
- 为什么在oracle查询,结果排序不一样?
- 创建表空间??
- 如何在PL/SQL中取得已知时间类型值对应的星期值?
- SQL 转换成oracle 写法
- 求一SQL语句(oracle里面)
- 急问,关于触发器问题。
看看HR_KQTempForInitData是否有许多索引,和本身服务器资源比较忙