我的当前表信息:
create table CARDB.CAR_ALL_INFO
(
CAR_PASS_ID VARCHAR2(30) not null,
CAR_NO VARCHAR2(16),
PASS_TIME VARCHAR2(50),
CROSS_ID VARCHAR2(16),
ROAD_ID VARCHAR2(12),
CAR_PATH_ID VARCHAR2(4),
SPEED NUMBER(18,2),
PLATECOLOR VARCHAR2(30),
CAR_PIC_FILENAME1 VARCHAR2(300),
CAR_PIC_FILENAME2 VARCHAR2(300),
CAR_VIDEO_FILENAME VARCHAR2(300),
ABSOLE_SHOW NUMBER(22),
CAR_TYPE VARCHAR2(4),
MATCHED NUMBER(22),
OLD_PIC_FILENAME1 VARCHAR2(300),
OLD_PIC_FILENAME2 VARCHAR2(300),
OLD_VIDEO_FILENAME VARCHAR2(300),
V_MONTH VARCHAR2(2),
CLIENT_ID VARCHAR2(10),
WZXW VARCHAR2(4)
)
partition by list (V_MONTH)
(
partition CAR_ALL_INFO01 values ('01')
tablespace epdbbp01
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO02 values ('02')
tablespace epdbbp02
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO03 values ('03')
tablespace epdbbp03
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO04 values ('04')
tablespace epdbbp04
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO05 values ('05')
tablespace epdbbp05
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO06 values ('06')
tablespace epdbbp06
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO07 values ('07')
tablespace epdbbp07
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO08 values ('08')
tablespace epdbbp08
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO09 values ('09')
tablespace epdbbp09
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO10 values ('10')
tablespace epdbbp10
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO11 values ('11')
tablespace epdbbp11
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO12 values ('12')
tablespace epdbbp12
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
),
partition CAR_ALL_INFO00 values (default)
tablespace epdbbp01
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
)
)
;
comment on table CARDB.CAR_ALL_INFO
is '监控到的车辆信息表';
comment on column CARDB.CAR_ALL_INFO.CAR_PASS_ID
is '通行ID';
comment on column CARDB.CAR_ALL_INFO.CAR_NO
is '车牌号码';
comment on column CARDB.CAR_ALL_INFO.PASS_TIME
is '通行时间';
comment on column CARDB.CAR_ALL_INFO.CROSS_ID
is '路口标识';
comment on column CARDB.CAR_ALL_INFO.SPEED
is '速度';
comment on column CARDB.CAR_ALL_INFO.PLATECOLOR
is '颜色';
comment on column CARDB.CAR_ALL_INFO.CAR_PIC_FILENAME1
is '图片一';
comment on column CARDB.CAR_ALL_INFO.ABSOLE_SHOW
is '是否显示 1=是,0=否';
comment on column CARDB.CAR_ALL_INFO.CAR_TYPE
is '车辆类型 表示轿车/大车';
comment on column CARDB.CAR_ALL_INFO.MATCHED
is '是否匹配上 1=是,0=否';
comment on column CARDB.CAR_ALL_INFO.OLD_PIC_FILENAME1
is '原始路径名';
comment on column CARDB.CAR_ALL_INFO.OLD_PIC_FILENAME2
is '原始路径名';
comment on column CARDB.CAR_ALL_INFO.OLD_VIDEO_FILENAME
is '原始路径名';
comment on column CARDB.CAR_ALL_INFO.V_MONTH
is '分区字段';
comment on column CARDB.CAR_ALL_INFO.CLIENT_ID
is '工控机编号';
comment on column CARDB.CAR_ALL_INFO.WZXW
is '违法行为';
alter table CARDB.CAR_ALL_INFO
add constraint P_INX_CAR_ALL_INFO primary key (CAR_PASS_ID)
using index
tablespace epdba01
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
);
create index CARDB.INDEX1_CAR_ALL_INFO on CARDB.CAR_ALL_INFO (PASS_TIME DESC)
tablespace epdbb01
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
);
create index CARDB.INDEX2_CAR_ALL_INFO on CARDB.CAR_ALL_INFO (CAR_NO, PASS_TIME DESC)
tablespace epdbc01
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
);
create index CARDB.INDEX3_CAR_ALL_INFO on CARDB.CAR_ALL_INFO (CROSS_ID, ROAD_ID, PASS_TIME DESC)
tablespace epdbd01
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 80K
minextents 1
maxextents unlimited
);
此表是一个分区表,根据12个月将数据放在不同表空间中。根据一些常用的查询做了一些索引。
现在我想对于此表再做更深层次的优化。
我的数据库是装在AIX系统下的,在AIX系统下挂了2T的存储专门用来存放数据。
我这个表里的数据是不断在往里插入的,每时每秒都在往里面插入数据(通过存储过程),然后用户还要调用这个表里的数据。现在表里已经存放了6000多万条的数据了,我预算了一下,这个表里将来会保存最少3亿条数据左右,因为要保存3年的数据。
现在的情况就已经不容乐观了,随着用户的访问量增加,随着表里的数量增加,现在情况已经是不容乐观了。查询一个礼拜的信息(分页查询),大约需要1分10秒左右。如果将来数据到达3亿,我担心情况会更加严重。
所以在这里我希望各位大侠能帮我出出主意,将来这个表要怎么一个规划方法,怎么能同时承受往里插入和用户的查询访问,还有并发的优化。
------解决方案--------------------
其实优化的最关键点就在于业务。。如果数据库的优化已经不可以再优化了。。可以考虑从业务优化。。你访问这个表的业务查询语句是怎样的???这样才好拿方案?