1
我有一个聚集索引表。MYSQL不使用创建索引
Index(region_cd, Activity_mth, HR_rollup, sls_dist_chnl_type_cd) called REGION_CD_3
Index(Activity_mth)
当我执行以下查询
EXPLAIN EXTENDED SELECT
ACTIVITY_MTH,
SUM(CASE WHEN m2m_ind = 'N' THEN TOT_GA ELSE 0 END) AS GA,
SUM(CASE WHEN m2m_ind = 'N' THEN TOT_GA_PY ELSE 0 END)
FROM
b2b_dashboard_data_dly
WHERE region_cd = 'PH'
AND ACTIVITY_MTH BETWEEN '2014-04-01' AND '2014-09-30'
AND HR_ROLLUP = 'historical'
AND SLS_DIST_CHNL_TYPE_CD = 'b2b'
GROUP BY ACTIVITY_MTH
我得到的解释以下回应。
id | select_type | table | type | possible_keys - | key | key_len | ref | rows | filtered | Extra
1 | SIMPLE | b2b_dashboard_data_dly | index_merge |REP_HR_EMP_ID,MGR_HR_EMP_ID,AD_HR_EMP_ID,REGION_CD,AREA_CD,ACTIVITY_MTH,HR_ROLLUP,REGION_CD_2,SLS_DIST_CHNL_TYPE_CD,REP_HR_EMP_ID_3,MGR_HR_EMP_ID_3,AD_HR_EMP_ID_3,REGION_CD_3,AREA_CD_3 | REGION_CD_2,HR_ROLLUP,SLS_DIST_CHNL_TYPE_CD | 93,33,48 | null | 11480 | 75 | Using intersect(REGION_CD_2,HR_ROLLUP,SLS_DIST_CHNL_TYPE_CD); Using where; Using temporary; Using filesort
为什么我的索引REGION_CD_3
没有被使用?我怎样才能优化这个查询和我的索引?
你可以发布涉及的表的结构和一些测试数据吗?使用[SQL Fiddle](http://sqlfiddle.com/)将有助于更好地帮助您。 – wchiquito 2014-09-04 14:35:21