有一张表A,6亿条数据量,有6个字段id(唯一键varchar2(22)),sj(date),name(varchar2(7)),t1(varchar2(255)),t2(varchar2(255)),t3(varchar2(255));
请问应该如何设计这张表?
怎样才能提高这张表的查询速度? 如果采用分区,怎样分区?分区字段为?
如果建立索引?怎样建?建什么类型的?(表索引、Global Index、Local Index有什么区别?) 查询时sql应该如何编写?
假如对name字段需要进行like查询,需要对表如何处理? 另注:这张表每天有300万的数据插入。采用oracle数据库。
id为序列值
name无规律
sj为该条记录插入数据库的数据库系统时间
t1,t2,t3均为无规律的值 对该表有insert和select操作,都是全字段操作;查询的条件主要有sj>'时间1' and sj <'时间2' and name like '我的名字'
请问应该如何设计这张表?
怎样才能提高这张表的查询速度? 如果采用分区,怎样分区?分区字段为?
如果建立索引?怎样建?建什么类型的?(表索引、Global Index、Local Index有什么区别?) 查询时sql应该如何编写?
假如对name字段需要进行like查询,需要对表如何处理? 另注:这张表每天有300万的数据插入。采用oracle数据库。
id为序列值
name无规律
sj为该条记录插入数据库的数据库系统时间
t1,t2,t3均为无规律的值 对该表有insert和select操作,都是全字段操作;查询的条件主要有sj>'时间1' and sj <'时间2' and name like '我的名字'
用like时注意,避免用like '%条件%',这样会使索引失效分区的话,可以考虑按时间,主要考虑用户经常查询的范围,比较经常按月的,就按月分区BTW,这里的版主经常不出现,所以你向他提问基本上没戏