现有业务须按类别写入数据表,但表记录海量数据。并且需要频繁的按照类别取得满足条件的一些数据。为了取得最好的操作效率,应该如何设计数据库结构,谢谢!
自己的办法,效率不高
create table table (
id int primary key,
name varchar(10) not null,
classId int not null);
Create index classid on table(classId);在大量数据的时候执行这样的查询速度异常慢
select * from table where classid=2 and name like='%d%';
谢谢!
自己的办法,效率不高
create table table (
id int primary key,
name varchar(10) not null,
classId int not null);
Create index classid on table(classId);在大量数据的时候执行这样的查询速度异常慢
select * from table where classid=2 and name like='%d%';
谢谢!
然后
select/*+ index(table1) */ * from table1 where classid=2 and name like='%d%';
如取上次销售数据.因此需要select业务表,但....可以建一个业务临存表,专门存储最新的销售数据~ 避免每次都select一张海量的业务表.
呵呵... 好的整体设计,才可以令性能更好~ 否则就算用到oracle10g,企业级服务器...业务逻辑设计没做好,性能一样上不去~ :)