本文叙述笔者informix 的大数据量存储过程开发的一些体会,限于所学有限,难登大雅之堂,诚挚欢迎高手批评指正。
在高选择性查询中,90%的性能查询是索引方面的一些问题,但在数据挖掘中,索引个人感觉只能解决60%的问题,另外的影响性能的因素有(磁盘io,数据库配置),数据库配置不做讨论。
1、使用临时表,先create temp table(id int...) with no log 一张表,并指定它适当的extent size,来存储需要使用的字段。
2、一些sum时,在临时表group 字段上加上索引,并对索引进行update statistics high for table。
3、一些大的表连接和group 不要同时做,最好连接后插入临时表,建索引后再group。
附:由于开发者在存储过程中可能使用临时表,最好使用
begin
on exception in(-958) -- -958表已存在
drop table TEMP_student; --临时表
end exception;
create temp TEMP_student
(
id int
)with no log
extent size 200 next size 200;
end
------解决方案--------------------------------------------------------
学习一下。
第3点的机制或者理由是什么呢?还是纯属测试结果?