表分區創建,按天進行分區。
create table T_REALTIME_GPS_PARTCAR_HIS
(
id VARCHAR2(50) default sys_guid() not null,
devphone VARCHAR2(50),
f_car_no VARCHAR2(32),
longitude VARCHAR2(50),
latitude VARCHAR2(50),
send_datetime VARCHAR2(50),
depcode VARCHAR2(32),
personid VARCHAR2(32),
depid VARCHAR2(32),
sjly VARCHAR2(10),
djsj TIMESTAMP(6) default systimestamp,
lyid VARCHAR2(200),
state VARCHAR2(1),
omspersonid VARCHAR2(32)
)
--一天爲單位創建分區
partition by range(djsj)
interval (numtodsinterval(1,'day'))
(
partition PART_REALTIME190331 values less than (to_date('2019-03-31','yyyy-mm-dd'))
);
-- Add comments to the columns
comment on column T_REALTIME_GPS_PARTCAR_HIS.devphone
is '設備SIM卡號';
comment on column T_REALTIME_GPS_PARTCAR_HIS.f_car_no
is '車牌號';
comment on column T_REALTIME_GPS_PARTCAR_HIS.longitude
is '經度';
comment on column T_REALTIME_GPS_PARTCAR_HIS.latitude
is '緯度';
comment on column T_REALTIME_GPS_PARTCAR_HIS.send_datetime
is '發送時間';
-- Create/Recreate primary, unique and foreign key constraints
alter table T_REALTIME_GPS_PARTCAR_HIS
add primary key (ID)
using index
tablespace ZYML
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
Oracle 表分區查詢操作,以及刪除表分區數據自動重建索引
--查指定分區下數據
SELECT COUNT(*) FROM T_REALTIME_GPS_PARTCAR_HIS PARTITION(partname);
--查看錶分區
select table_name,partition_name from user_tab_partitions where table_name='tablename';
--根據表分區時間查詢
SELECT * FROM T_REALTIME_GPS_PARTCAR_HIS partition for(to_date('2019-05-16','yyyy-mm-dd')) t WHERE t.license_plate_num='魯AM****' ORDER BY t.send_datetime DESC;
--刪除分區,數據也自動刪除
alter table tableName DROP PARTITION partionName update indexes;
--只刪除數據
alter table tableName TRUNCATE PARTITION partionName;