--表结构如下:
create table qk_billinfo0806
(
BILLID NUMBER(20) not null,
WRITETIME DATE not null,
PRINTTIME DATE,
CONTENT VARCHAR2(4000) not null,
SERVICETYPE NUMBER(3) not null,
BILLTYPE NUMBER(6) not null,
BILLSTATUS NUMBER(3) not null,
DISCOUNTDAY NUMBER(6) not null,
FAILNUM NUMBER(6) not null,
BILLINEDEX NUMBER(20) not null
)
tablespace RING
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
现在我想从一张数据量特别大,表结构一样的表中提取五月份的数据
写的脚本如下:
INSERT INTO qk_billinfo0806
(
SELECT *
FROM gdusdp.t_billinfo a
WHERE a.writetime < to_date('2008-5-2','yyyy-mm-dd')
AND a.writetime >= to_date('2008-5-1','yyyy-mm-dd')
AND a.billtype=41
AND a.billstatus=3
)
这样写插入速度太慢,但条件又不能少?可否有更好的建议和优化方法?
很急!!!!!!!!!
先谢谢各位大师啰!
备注:查询的那张表(见红色标识)里数据有百万以上!因为存放的是前几个月的数据.
create table qk_billinfo0806
(
BILLID NUMBER(20) not null,
WRITETIME DATE not null,
PRINTTIME DATE,
CONTENT VARCHAR2(4000) not null,
SERVICETYPE NUMBER(3) not null,
BILLTYPE NUMBER(6) not null,
BILLSTATUS NUMBER(3) not null,
DISCOUNTDAY NUMBER(6) not null,
FAILNUM NUMBER(6) not null,
BILLINEDEX NUMBER(20) not null
)
tablespace RING
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
现在我想从一张数据量特别大,表结构一样的表中提取五月份的数据
写的脚本如下:
INSERT INTO qk_billinfo0806
(
SELECT *
FROM gdusdp.t_billinfo a
WHERE a.writetime < to_date('2008-5-2','yyyy-mm-dd')
AND a.writetime >= to_date('2008-5-1','yyyy-mm-dd')
AND a.billtype=41
AND a.billstatus=3
)
这样写插入速度太慢,但条件又不能少?可否有更好的建议和优化方法?
很急!!!!!!!!!
先谢谢各位大师啰!
备注:查询的那张表(见红色标识)里数据有百万以上!因为存放的是前几个月的数据.
解决方案 »
- oracle数值比较
- 求sql判断语句,仓库表和客户表,门店表是一对一的关系。
- PB 对ORACLE 数据备份问题!
- 系统表sysman.MGMT_JOB_SCHEDULE做什么用的
- 关于临时表,临时表变量使用的时候,insert数据,这些数据是在内存中,还是数据文件中,是否会100%成功呢?
- 要查询得到每组的max(或者min等其他聚合函数)值,并 且得到这个行的其他字段
- sql查出一棵树中的所有叶子节点,或者所有的双亲节点
- 进来看看嘛!
- 关于select 语句中对某一属性求和(用sum吗?)
- 这样的SQL怎么写?
- asp.net+oracle我要插入超过4000字符的大文本 代码应该是怎样???
- 问一个排序的问题。。。
Insert /* + APPEND */ into qk_billinfo0806
SELECT *
FROM gdusdp.t_billinfo a
WHERE a.writetime < to_date('2008-5-2','yyyy-mm-dd')
AND a.writetime >= to_date('2008-5-1','yyyy-mm-dd')
AND a.billtype=41
AND a.billstatus=3 2.
将writetime中建立索引,billtype、billstatus这两列如果有很强过滤能力也可以加上,否则就不要加了。