关于网友提出的“ (DB2)请求各位大大帮我看一下这个sql如何去建索引”问题疑问,本网通过在网上对“ (DB2)请求各位大大帮我看一下这个sql如何去建索引”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: (DB2)请求各位大大帮我看一下这个sql如何去建索引
描述:本帖最后由 feiqiu2015 于 2015-03-09 13:42:45 编辑
sql索引数据优化DB2
SELECT
A.IND_CODE
,SUM(IN_SELLNUM_Y_A)/50000 AS IN_SELLNUM_Y_A
,SUM(IN_SELLNUM)/50000 AS IN_SELLNUM
,SUM(IN_SELLNUM_P)/50000 AS IN_SELLNUM_P
,SUM(IN_SELLNUM_L)/50000 AS IN_SELLNUM_L
FROM DM_P_IND_TJIN_Y_Q_M_ALL A
INNER JOIN DIM_CIG_BASE B
ON A.CIG_ID=B.C_CIG
AND B.IS_CIGA='0'
AND B.CIG_IMPORTFLAG IN('0','3')
AND B.CIG_PRODUCTTYPE NOT IN ('05','06')
WHERE A.YM=201405 GROUP BY A.IND_CODE
其中,DM_P_IND_TJIN_Y_Q_M_ALL 表中的数据有200W ,DIM_CIG_BASE表中数据量有1W, 现在查询速度大致在15秒左右,我想请教下在这2个表中如何建索引 才能使查询速度更快,sql还能优化吗?小弟跪求大大们帮助!
解决方案1: 对A进行下表分区比较好吧
解决方案2: 感觉B表建索引的用处不大,如果符合条件的数据占多数,建立索引基本没有效率上的提升
解决方案3: DM_P_IND_TJIN_Y_Q_M_ALL:CIG_ID、YM、IND_CODE
DIM_CIG_BASE:C_CIG、IS_CIGA、CIG_IMPORTFLAG、CIG_PRODUCTTYPE
以上介绍了“ (DB2)请求各位大大帮我看一下这个sql如何去建索引”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2034382.html