轨道交通数据库

请教数据库优化,目前表中仅6万数据,一个查询要3m左右!

请教一个数据库优化,实在受不了了,表中仅11万数据,查询时间花费3分钟左右时间,SQL我感觉已最优了。表结构和数据库配置:-- 此 CLP 文件是使用 DB2LOOK 版本创建的 9.1-- 时间戳记: 2011-5-7 15:51:41-- 数据库名称: MESANS1   -- 数据库管理器版本: DB2/NT Version ...显示全部
请教一个数据库优化,实在受不了了,表中仅11万数据,查询时间花费3分钟左右时间,SQL我感觉已最优了。


表结构和数据库配置:
-- 此 CLP 文件是使用 DB2LOOK 版本创建的 9.1
-- 时间戳记: 2011-5-7 15:51:41
-- 数据库名称: MESANS1   
-- 数据库管理器版本: DB2/NT Version 9.1.3   
-- 数据库代码页: 1386
-- 数据库整理顺序为: UNIQUE
-- 省略了 COMMIT。在执行脚本之后,需要显式地进行落实。


-- 模拟表空间
ALTER TABLESPACE USERSPACE1
  PREFETCHSIZE AUTOMATIC
  OVERHEAD 7.500000
  FILE SYSTEM CACHING  
  TRANSFERRATE 0.060000;


------------------------------------------------
-- 表的 DDL 语句 "MESANS "."T_PB_FACT_H"
------------------------------------------------


CREATE TABLE "MESANS "."T_PB_FACT_H" (
"F_ID" BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (   
START WITH +0   
INCREMENT BY +1   
MINVALUE +0   
MAXVALUE +9223372036854775807   
NO CYCLE   
CACHE 512   
NO ORDER ) ,  
"F_DAY" DATE NOT NULL ,  
"F_ORDER_CODE" VARCHAR(50) ,  
"F_ORG_CODE" VARCHAR(50) ,  
"F_SHIFT_CODE" VARCHAR(50) ,  
"F_PROD_CODE" VARCHAR(50) ,  
"F_MACHINE_CODE" VARCHAR(50) ,  
"F_NOTE" VARCHAR(512) ,  
"F_MODIFY_TIME" TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP ,  
"F_MODIFY_ID" BIGINT ,  
"F_CREATE_TIME" TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP ,  
"F_CREATE_ID" BIGINT ,  
"F_PRT_000" DECIMAL(30,6) ,  
"F_PRT_001" DECIMAL(30,6) ,  
"F_PRT_002" DECIMAL(30,6) ,  
"F_PRT_003" DECIMAL(30,6) ,  
"F_PRT_004" DECIMAL(30,6) ,  
"F_PRT_005" DECIMAL(30,6) ,  
"F_PRT_006" DECIMAL(30,6) ,  
"F_PRT_007" DECIMAL(30,6) ,  
"F_PRT_008" DECIMAL(30,6) ,  
"F_PRT_009" DECIMAL(30,6) ,  
"F_PRT_010" DECIMAL(30,6) ,  
"F_PRT_011" DECIMAL(30,6) ,  
"F_PRT_012" DECIMAL(30,6) ,  
"F_PRT_013" DECIMAL(30,6) ,  
"F_PRT_014" DECIMAL(30,6) ,  
"F_PRT_015" DECIMAL(30,6) ,  
"F_PRT_016" DECIMAL(30,6) ,  
"F_PRT_017" DECIMAL(30,6) ,  
"F_PRT_018" DECIMAL(30,6) ,  
"F_PRT_019" DECIMAL(30,6) ,  
"F_PRT_020" DECIMAL(30,6) ,  
"F_PRT_021" DECIMAL(30,6) ,  
"F_PRT_022" DECIMAL(30,6) ,  
"F_PRT_023" DECIMAL(30,6) ,  
"F_PRT_024" DECIMAL(30,6) ,  
"F_PRT_025" DECIMAL(30,6) ,  
"F_PRT_026" DECIMAL(30,6) ,  
"F_PRT_027" DECIMAL(30,6) ,  
"F_PRT_028" DECIMAL(30,6) ,  
"F_PRT_029" DECIMAL(30,6) ,  
"F_PRT_030" DECIMAL(30,6) ,  
"F_PRT_031" DECIMAL(30,6) ,  
"F_PRT_032" DECIMAL(30,6) ,  
"F_PRT_033" DECIMAL(30,6) ,  
"F_PRT_034" DECIMAL(30,6) ,  
"F_PRT_035" DECIMAL(30,6) ,  
"F_PRT_036" DECIMAL(30,6) ,  
"F_PRT_037" DECIMAL(30,6) ,  
"F_PRT_038" DECIMAL(30,6) ,  
"F_PRT_039" DECIMAL(30,6) ,  
"F_PRT_040" DECIMAL(30,6) ,  
"F_PRT_041" DECIMAL(30,6) ,  
"F_PRT_042" DECIMAL(30,6) ,  
"F_PRT_043" DECIMAL(30,6) ,  
"F_PRT_044" DECIMAL(30,6) ,  
"F_PRT_045" DECIMAL(30,6) ,  
"F_PRT_046" DECIMAL(30,6) ,  
"F_PRT_047" DECIMAL(30,6) ,  
"F_PRT_048" DECIMAL(30,6) ,  
"F_PRT_049" DECIMAL(30,6) ,  
"F_PRT_050" DECIMAL(30,6) ,  
"F_PRT_051" DECIMAL(30,6) ,  
"F_PRT_052" DECIMAL(30,6) ,  
"F_PRT_053" DECIMAL(30,6) ,  
"F_PRT_054" DECIMAL(30,6) ,  
"F_PRT_055" DECIMAL(30,6) ,  
"F_PRT_056" DECIMAL(30,6) ,  
"F_PRT_057" DECIMAL(30,6) ,  
"F_PRT_058" DECIMAL(30,6) ,  
"F_PRT_059" DECIMAL(30,6) ,  
"F_PRT_060" DECIMAL(30,6) ,  
"F_PRT_061" DECIMAL(30,6) ,  
"F_PRT_062" DECIMAL(30,6) ,  
"F_PRT_063" DECIMAL(30,6) ,  
"F_PRT_064" DECIMAL(30,6) ,  
"F_PRT_065" DECIMAL(30,6) ,  
"F_PRT_066" DECIMAL(30,6) ,  
"F_PRT_067" DECIMAL(30,6) ,  
"F_PRT_068" DECIMAL(30,6) ,  
"F_PRT_069" DECIMAL(30,6) ,  
"F_PRT_070" DECIMAL(30,6) ,  
"F_PRT_071" DECIMAL(30,6) ,  
"F_PRT_072" DECIMAL(30,6) ,  
"F_PRT_073" DECIMAL(30,6) ,  
"F_PRT_074" DECIMAL(30,6) ,  
"F_PRT_075" DECIMAL(30,6) ,  
"F_PRT_076" DECIMAL(30,6) ,  
"F_PRT_077" DECIMAL(30,6) ,  
"F_PRT_078" DECIMAL(30,6) ,  
"F_PRT_079" DECIMAL(30,6) ,  
"F_PRT_080" DECIMAL(30,6) ,  
"F_PRT_081" DECIMAL(30,6) ,  
"F_PRT_082" DECIMAL(30,6) ,  
"F_PRT_083" DECIMAL(30,6) ,  
"F_PRT_084" DECIMAL(30,6) ,  
"F_PRT_085" DECIMAL(30,6) ,  
"F_PRT_086" DECIMAL(30,6) ,  
"F_PRT_087" DECIMAL(30,6) ,  
"F_PRT_088" DECIMAL(30,6) ,  
"F_PRT_089" DECIMAL(30,6) ,  
"F_PRT_090" DECIMAL(30,6) ,  
"F_PRT_091" DECIMAL(30,6) ,  
"F_PRT_092" DECIMAL(30,6) ,  
"F_PRT_093" DECIMAL(30,6) ,  
"F_PRT_094" DECIMAL(30,6) ,  
"F_PRT_095" DECIMAL(30,6) ,  
"F_PRT_096" DECIMAL(30,6) ,  
"F_PRT_097" DECIMAL(30,6) ,  
"F_PRT_098" DECIMAL(30,6) ,  
"F_PRT_099" DECIMAL(30,6) ,  
"F_PRT_100" DECIMAL(30,6) ,  
"F_PRT_101" DECIMAL(30,6) ,  
"F_PRT_102" DECIMAL(30,6) ,  
"F_PRT_103" DECIMAL(30,6) ,  
"F_PRT_104" DECIMAL(30,6) ,  
"F_PRT_105" DECIMAL(30,6) ,  
"F_PRT_106" DECIMAL(30,6) ,  
"F_PRT_107" DECIMAL(30,6) ,  
"F_PRT_108" DECIMAL(30,6) ,  
"F_PRT_109" DECIMAL(30,6) ,  
"F_PRT_110" DECIMAL(30,6) ,  
"F_PRT_111" DECIMAL(30,6) ,  
"F_PRT_112" DECIMAL(30,6) ,  
"F_PRT_113" DECIMAL(30,6) ,  
"F_PRT_114" DECIMAL(30,6) ,  
"F_PRT_115" DECIMAL(30,6) ,  
"F_PRT_116" DECIMAL(30,6) ,  
"F_PRT_117" DECIMAL(30,6) ,  
"F_PRT_118" DECIMAL(30,6) ,  
"F_PRT_119" DECIMAL(30,6) ,  
"F_PRT_120" DECIMAL(30,6) ,  
"F_PRT_121" DECIMAL(30,6) ,  
"F_PRT_122" DECIMAL(30,6) ,  
"F_PRT_123" DECIMAL(30,6) ,  
"F_PRT_124" DECIMAL(30,6) ,  
"F_PRT_125" DECIMAL(30,6) ,  
"F_PRT_126" DECIMAL(30,6) ,  
"F_PRT_127" DECIMAL(30,6) ,  
"F_PRT_128" DECIMAL(30,6) ,  
"F_PRT_129" DECIMAL(30,6) ,  
"F_PRT_130" DECIMAL(30,6) ,  
"F_PRT_131" DECIMAL(30,6) ,  
"F_PRT_132" DECIMAL(30,6) ,  
"F_PRT_133" DECIMAL(30,6) ,  
"F_PRT_134" DECIMAL(30,6) ,  
"F_PRT_135" DECIMAL(30,6) ,  
"F_PRT_136" DECIMAL(30,6) ,  
"F_PRT_137" DECIMAL(30,6) ,  
"F_PRT_138" DECIMAL(30,6) ,  
"F_PRT_139" DECIMAL(30,6) ,  
"F_PRT_140" DECIMAL(30,6) ,  
"F_PRT_141" DECIMAL(30,6) ,  
"F_PRT_142" DECIMAL(30,6) ,  
"F_PRT_143" DECIMAL(30,6) ,  
"F_PRT_144" DECIMAL(30,6) ,  
"F_PRT_145" DECIMAL(30,6) ,  
"F_PRT_146" DECIMAL(30,6) ,  
"F_PRT_147" DECIMAL(30,6) ,  
"F_PRT_148" DECIMAL(30,6) ,  
"F_PRT_149" DECIMAL(30,6) ,  
"F_PRT_150" DECIMAL(30,6) ,  
"F_PRT_151" DECIMAL(30,6) ,  
"F_PRT_152" DECIMAL(30,6) ,  
"F_PRT_153" DECIMAL(30,6) ,  
"F_PRT_154" DECIMAL(30,6) ,  
"F_PRT_155" DECIMAL(30,6) ,  
"F_PRT_156" DECIMAL(30,6) ,  
"F_PRT_157" DECIMAL(30,6) ,  
"F_PRT_158" DECIMAL(30,6) ,  
"F_PRT_159" DECIMAL(30,6) ,  
"F_PRT_160" DECIMAL(30,6) ,  
"F_PRT_161" DECIMAL(30,6) ,  
"F_PRT_162" DECIMAL(30,6) ,  
"F_PRT_163" DECIMAL(30,6) ,  
"F_PRT_164" DECIMAL(30,6) ,  
"F_PRT_165" DECIMAL(30,6) ,  
"F_PRT_166" DECIMAL(30,6) ,  
"F_PRT_167" DECIMAL(30,6) ,  
"F_PRT_168" DECIMAL(30,6) ,  
"F_PRT_169" DECIMAL(30,6) ,  
"F_PRT_170" DECIMAL(30,6) ,  
"F_PRT_171" DECIMAL(30,6) ,  
"F_PRT_172" DECIMAL(30,6) ,  
"F_PRT_173" DECIMAL(30,6) ,  
"F_PRT_174" DECIMAL(30,6) ,  
"F_PRT_175" DECIMAL(30,6) ,  
"F_PRT_176" DECIMAL(30,6) ,  
"F_PRT_177" DECIMAL(30,6) ,  
"F_PRT_178" DECIMAL(30,6) ,  
"F_PRT_179" DECIMAL(30,6) ,  
"F_PRT_180" DECIMAL(30,6) ,  
"F_PRT_181" DECIMAL(30,6) ,  
"F_PRT_182" DECIMAL(30,6) ,  
"F_PRT_183" DECIMAL(30,6) ,  
"F_PRT_184" DECIMAL(30,6) ,  
"F_PRT_185" DECIMAL(30,6) ,  
"F_PRT_186" DECIMAL(30,6) ,  
"F_PRT_187" DECIMAL(30,6) ,  
"F_PRT_188" DECIMAL(30,6) ,  
"F_PRT_189" DECIMAL(30,6) ,  
"F_PRT_190" DECIMAL(30,6) ,  
"F_PRT_191" DECIMAL(30,6) ,  
"F_PRT_192" DECIMAL(30,6) ,  
"F_PRT_193" DECIMAL(30,6) ,  
"F_PRT_194" DECIMAL(30,6) ,  
"F_PRT_195" DECIMAL(30,6) ,  
"F_PRT_196" DECIMAL(30,6) ,  
"F_PRT_197" DECIMAL(30,6) ,  
"F_PRT_198" DECIMAL(30,6) ,  
"F_PRT_199" DECIMAL(30,6) )   
INDEX IN "USERSPACE1" PARTITION BY RANGE("F_DAY" NULLS FIRST)  
(PART "P_FACT_2008" STARTING(MINVALUE) EXCLUSIVE ENDING('2008-12-31') IN "USERSPACE1",  
PART "P_FACT_2009" STARTING('2009-01-01') ENDING('2009-12-31') IN "USERSPACE1",  
PART "P_FACT_2010" STARTING('2010-01-01') ENDING('2010-12-31') IN "USERSPACE1",  
PART "P_FACT_2011" STARTING('2011-01-01') ENDING('2011-12-31') IN "USERSPACE1",  
PART "P_FACT_2012" STARTING('2012-01-01') ENDING('2012-12-31') IN "USERSPACE1",  
PART "P_FACT_2013" STARTING('2013-01-01') ENDING('2013-12-31') IN "USERSPACE1",  
PART "P_FACT_2014" STARTING('2014-01-01') ENDING('2014-12-31') EXCLUSIVE IN "USERSPACE1",  
PART "P_FACT_2015" STARTING('2015-01-01') ENDING('2015-12-31') IN "USERSPACE1",  
PART "P_FACT_2016" STARTING('2016-01-01') ENDING(MAXVALUE) EXCLUSIVE IN "USERSPACE1")  
ORGANIZE BY (  
( "F_DAY" ) ,  
( "F_SHIFT_CODE" ) ,  
( "F_ORDER_CODE" ) ,  
( "F_ORG_CODE" ) ,  
( "F_MACHINE_CODE" ) )  
;  

ALTER TABLE "MESANS "."T_PB_FACT_H" PCTFREE 30;


-- 表上主键的 DDL 语句 "MESANS "."T_PB_FACT_H"

ALTER TABLE "MESANS "."T_PB_FACT_H"  
ADD CONSTRAINT "T_PB_FACT_H" PRIMARY KEY
("F_ID");



ALTER TABLE "MESANS "."T_PB_FACT_H" ALTER COLUMN "F_ID" RESTART WITH 116735;

--------------------------------------------------------
-- 数据库和“数据库管理器”配置参数
--------------------------------------------------------

UPDATE DBM CFG USING cpuspeed 2.519169e-007;
UPDATE DBM CFG USING intra_parallel NO;
UPDATE DBM CFG USING comm_bandwidth 100.000000;
UPDATE DBM CFG USING federated YES;
UPDATE DBM CFG USING fed_noauth NO;

UPDATE DB CFG FOR MESANS1 USING locklist 4384;
UPDATE DB CFG FOR MESANS1 USING dft_degree -1;
UPDATE DB CFG FOR MESANS1 USING maxlocks 98;
UPDATE DB CFG FOR MESANS1 USING avg_appls 1;
UPDATE DB CFG FOR MESANS1 USING stmtheap 2048;
UPDATE DB CFG FOR MESANS1 USING dft_queryopt 5;收起
参与18

查看其它 16 个回答baxiaowei的回答

baxiaoweibaxiaowei系统工程师dsaf
天哪 这个SQL的逻辑有问题
IT分销/经销 · 2011-05-09
浏览1117

回答者

baxiaowei
系统工程师dsaf

baxiaowei 最近回答过的问题

回答状态

  • 发布时间:2011-05-09
  • 关注会员:1 人
  • 回答浏览:1117
  • X社区推广